Как отображать обычное изображение или обычный текст, если данные недоступны в TableView в objective c?

#ios #objective-c #uitableview

#iOS #objective-c #uitableview

Вопрос:

У меня есть табличное представление, используемое для отображения списка моих любимых видео. если в табличном представлении нет доступных данных, он покажет это. введите описание изображения здесь

Комментарии:

1. Возьмите новую ячейку с идентификатором и создайте ее, как указано выше. Когда вы получите пустой массив, верните 1 в numberofrowsinsection и загрузите эту ячейку

2. Создайте представление, подобное приведенному выше, и укажите условие, tableView numberOfRowsInSection чтобы скрыть и показать это представление. if(arr_data.count == 0) { no_data_view.hidden=NO; tbl_view.hidden=YES; } else { no_data_view.hidden=YES; tbl_view.hidden=NO }

3. @BhavinRamani Если высота его ячейки равна 30, но в соответствии с приведенным выше дизайном она больше 30, поэтому ему также необходимо настроить метод heightforrowatindexpath. Поэтому лучше взять новую ячейку с пользовательской высотой и загрузить ее

4. @Jecky Но я не сказал ему настроить ячейку или сделать дизайн ячейки таким образом в UITableviewCell

5. Вы говорите о представлении, например, если он создает представление 100 в соответствии с приведенным выше дизайном, но ему нужна ячейка высотой 30, тогда он должен настроить метод heightforrowatindexpath только для этого представления @BhavinRamani

Ответ №1:

Если вы хотите показать его конкретно внутри TableView, вам нужно будет создать ячейку для TableView с той же структурой и обработать используемую ячейку, созданную на основе наличия или отсутствия данных. Если данных нет, вам нужно будет создать экземпляр другой ячейки, а при наличии данных — другой.

Вот как я бы сделал это вместо этого: вы можете изначально установить для TableView значение hidden. И создайте представление с требуемыми ImageViews и метками, а также установите его скрытым. Сделайте это представление внешним, а не как ячейку. При выборке данных, в зависимости от ответа, вы можете отобразить одно из представлений.

Ответ №2:

Попробуйте следующий код.

 -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    if (arr.count==0) {
         return 1;
    }
    return arr.count;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *emptyMessageCellIdenifier = @"emptyMessageCell";
    NSString *datacellIdentifier = @"datacell";

    UITableViewCell *emptyMessageCell ;
    UITableViewCell *datacell ;


    if (arr.count == 0) {
        return emptycell;
    }
    else{
        return datacell;
    }
   }
  

Ответ №3:

Я получил решение.Это так просто. Я беру uiview. а когда список пуст, скройте представление таблицы и покажите это uiview. Это действительно просто.