Если все ваши строки имеют одинаковую высоту, вы можете установить свойство rowHeight
вашего UITableView
вместо реализации tableView:heightForRowAtIndexPath:
. Если у вас есть строки разной высоты, вы должны реализовать tableView:heightForRowAtIndexPath:
.
Ни один из этих методов не будет автоматически возвращать высоту ячейки, которую вы определили в NIB, поскольку они вызываются до того, как вы начнете создавать ячейки в tableView:cellForRowAtIndexPath:
.
Чтобы использовать высоту ячейки, определенной в вашей NIB, я рекомендую вам определить пользовательское свойство вашего контроллера с именем prototypeCell
, которое будет содержать одну ячейку, которая никогда не будет отображаться на вашей таблице. В tableView:heightForRowAtIndexPath:
проверьте, равен ли prototypeCell
нулю. Если это так, инициализируйте его из своего NIB. Затем верните prototypeCell.frame.size.height
.