Just encountered exactly the same issue, and the resolution turns out very simple.
Just implement this delegate method:
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return 20;
}
Form Apple UITableViewDelegate Protocol Reference, it mentioned
Discussion
The returned object can be a UILabel or UIImageView object, as well as a custom view. This method only works correctly when tableView:heightForHeaderInSection: is also implemented.