Высота UITableViewCell не изменяется в UITableView при ее изменении в построителе интерфейсов

#uitableview #interface-builder

#uitableview #interface-builder

Вопрос:

Я создаю пользовательскую ячейку таблицы с помощью InterfaceBuilder. Однако, когда я изменяю высоту в IB, изменения не отражаются в запущенной программе. Есть ли что-нибудь еще, что мне нужно сделать, кроме установки высоты в IB?

Заранее спасибо.

Ответ №1:

Недостаточно изменить высоту вашей пользовательской ячейки в IB. Высотой строки в UITableView можно управлять двумя способами

  1. Установите tableview.rowHeight для свойства желаемое значение, если вы знаете, что все ячейки будут одинаковой высоты. Вы также можете установить это в IB, если я не ошибаюсь.

  2. Реализуйте метод UITableViewDelegate

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

Этот метод имеет приоритет, что означает, что если вы реализуете этот метод, то значение, которое вы задаете, tableView.rowHeight игнорируется.

Комментарии:

1. и убедитесь, что у вас есть tableview.delegate = self; в вашем коде.