Подтвердить что ты не робот

Изменить высоту UITableViewCell

Я хочу сделать UITableViewCell больше. Как я могу это сделать, я попытался настроить его фрейм, но ничего не происходит. Что я могу сделать?

4b9b3361

Ответ 1

Вам нужно реализовать

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

в UITableViewDelegate.

Ответ 2

Вы можете сделать это следующим образом.

//Change the Height of the Cell [Default is 44]:
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath
{
  if (indexPath.section == 0) {
   if (indexPath.row == 1) {
     return 90;
   }
  }
  return 44;
}

Надеюсь, это поможет вам.

Ответ 3

Есть два шага для изменения высоты ячейки таблицы без любого дополнительного кода:

  • Выберите Table View из раскадровки. В Size Inspector изменить Row Height.
  • Выберите Table View Cell, а в Size Inspector выберите Size Inspector.

Обратите внимание, что вы ДОЛЖНЫ установить атрибут BOTH атрибута Table Row Height и атрибута Table Cell Row Height.

Если вы просто установите один из них, это не сработает.

Ответ 4

Я нашел этот ответ самым информативным и самым последним, чтобы изменить высоту ячейки представления таблицы.

TL; DR

  • Будьте особенно осторожны при создании ограничений автоматического макета
  • Включить оценку высоты строки в представлении таблицы в методе viewDidLayoutSubviews.

    self.tableView.rowHeight = UITableViewAutomaticDimension self.tableView.estimatedRowHeight = 44.0;//устанавливаем значение вашей средней высоты ячейки

Ответ 5

Вы можете использовать этот код для изменения высоты разных таблиц

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(tableView == tableView1) 
    {
        return 55;
    }
    else if(tableView == tableView2)
    {
        return 75;
    }
}

Это может вам помочь.