Yes, you must implement heightForRowAtIndexPath . However, if you have only static rows, you do not need to implement cellForRowAtIndexPath , because static cells are generated by IB.
To get the cell and its contents (which is probably necessary for calculating the height, for example, labels in different languages ββcan have different lengths, which leads to a different cell size, etc.), you can use the ancestor method, for example:
UITableViewCell *cell = [super tableView:tableView cellForRowAtIndexPath:indexPath];
source share