#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. Это действительно просто.