Высота ячеек UITableview не работает в пустой таблице? - PullRequest
17 голосов
/ 27 августа 2011

Я использую приведенный ниже код для создания большего и более чистого вида на простом (не сгруппированном) UITableView.Это работает нормально, если у меня нет пустой таблицы, тогда высота ячейки устанавливается на нормальную высоту.У меня есть стандартный Separatorstyle (серые линии), поэтому он выглядит очень плохо, если он пуст.

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
{
    return 75;
}

Есть идеи, как это исправить?1008 *

Нашел еще лучшее решение, в котором я даже не отображаю строки, если в таблице "Пусто" и вместо этого отображается справочный текст.

- (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];
}

Ответы [ 2 ]

38 голосов
/ 27 августа 2011

Вы должны иметь возможность принудительно устанавливать высоту строки, устанавливая rowHeight, даже если количество строк равно 0.

self.tableView.rowHeight = 75.0;

Вы также можете установить его в IB.

heightForRowAtIndexPath, кажется, вызывается, только если ячейка настраивается в cellForRowAtIndexPath, тогда как это свойство таблицы и всегда присутствует.

0 голосов
/ 27 августа 2011

Что ты имеешь в виду под пустой таблицей?Если полная таблица пуста, то возвращаемый номер раздела для таблицы будет пустым.Это означает, что в таблице вообще ничего не будет отображаться.

Если у вас есть пустая строка таблицы = ячейка таблицы, то вы должны убедиться, что cell at indexpath возвращает что-то, где вам просто нужно поместить пустые значения,Тогда между вашими другими строками в таблице будет пустая строка.

Что именно / должно быть пустым?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...