Высота ячейки UITableview не работает в пустой таблице?
Я использую код ниже, чтобы создать более чистый и более чистый вид на обычном (не сгруппированном) UITableView. Он отлично работает, если у меня нет пустой таблицы, тогда высота ячейки устанавливается на нормальную высоту. У меня стандартный сепараторный стиль (серые линии), поэтому он выглядит грубым, если он пуст.
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
{
return 75;
}
Любая идея, как это исправить?
EDIT:
Нашел еще лучшее решение, в котором я даже не показываю строки, если таблица "Пусто" и отображает текст руководства.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if ([dataArray count] == 0) {
[theTableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
[pleaseAddStuffText setHidden:NO];
} else {
[theTableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];
[pleaseAddStuffText setHidden:YES];
}
return [dataArray count];
}
Ответы
Ответ 1
Вы должны постоянно устанавливать высоту строки, устанавливая rowHeight, даже если количество строк равно 0.
self.tableView.rowHeight = 75.0;
Вы также можете установить его в IB.
heightForRowAtIndexPath, кажется, вызывается только в том случае, если ячейка настроена в cellForRowAtIndexPath, тогда как это свойство tableview и всегда присутствует.
Ответ 2
Что вы подразумеваете под пустым столом? Если полная таблица пуста, то возвращаемое количество секций для таблицы пуст. Это означает, что ничего не будет показано на столе вообще.
Если у вас есть пустая таблица table = table, то вы должны убедиться, что cell at indexpath
возвращает что-то, где вам просто нужно положить пустые значения. Затем у вас будет пустая строка между вашими другими строками в вашей таблице.
Что такое/должно быть пустым?