Im creating a music based app. The playlist screen is a UITableView. It has 3 sections: Previous Tracks, Now Playing, Next Tracks. They are in order as follows:
Do not overwrite the inset value somewhere else, as in my case;)
I had the same problem, but The issue was in updating/reloading the UITableView from background thread. Just in case if someone else have the same problem as me.
Look at the contentInset property which the table view inherits. You will have to set the bottom inset just so that the bottom most cell is visible.
Example:
self.tableView.contentInset = UIEdgeInsetsMake(0, 0, self.tableView.frame.size.height - 88, 0);