TableView высота ячейки... как ее настроить?

Можно ли изменить высоту только одной ячейки в сгруппированном представлении таблицы?
У меня есть табличный вид с 2 разделами из 3 и 2 строк... Я бы изменил высоту строки второй строки второй секции...

Как я могу это сделать? Спасибо!

Ответы

Ответ 1

Вы можете посмотреть этот метод:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

В вашем случае код должен выглядеть так:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
   if (indexPath.section == 1 && indexPath.row == 1) {
      return SPECIAL_HEIGHT;
   }
   return NORMAL_HEIGHT;
}

Вы можете найти более подробную информацию о метод здесь

Ответ 2

В iOS 8 и выше мы можем использовать высоту Динамическая таблица таблицы.

Использование этой функции UITableviewCell получить ее высоту из ее содержимого и нам не нужно писать heightForRowAtIndexPath

Все, что мне нужно сделать в viewDidLoad()

tableView.estimatedRowHeight = 44.0;
tableView.rowHeight = UITableViewAutomaticDimension;

Если cell содержит uilabel. затем примените ограничения к uilabel

введите описание изображения здесь

Убедитесь, что вы изменили Label --Lines-- на 0

введите описание изображения здесь

Ячейка автоматически вырастет с содержимым uilabel:

введите описание изображения здесь

Ответ 4

Посмотрите

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

Для индексного пути просто проверьте, какая строка и раздел и соответственно отрегулируйте высоту.