The table view needs to know it's total height. if you implement heightForRowAtIndexPath:
it will be called for every row so the table know how tall it is.
If every row has the same height, simply set the rowHeight
property on the table view instead of implementing the heightForRowAtIndexPath
delegate method.
If each row can have a different height, then there is little you can other than making your implementation of heightForRowAtIndexPath
as efficient as possible.
As of iOS 7, there is now the estimatedRowHeight
property on UITableView
. Using that should help improve things.