// カスタム セルの場合、ヘッダー、フッター、その他のクラップはこれを実装します
CGFloat tableHeight = [self.tableView numberOfRowsInSection:0] * self.tableView.rowHeight;
CGRect frame = self.tableView.frame;
self.tableView.frame = CGRectMake(frame.origin.x, frame.origin.y, frame.size.width,[self getHeightForTableView:self.tableView]);
// また、このメソッドを viewController に追加します
-(CGFloat)getHeightForTableView:(UITableView*)tableView
{
CGFloat tableViewHeight=0.0;
NSArray *indexPaths=[tableView indexPathsForVisibleRows];
NSInteger oldsection=((NSIndexPath*)[indexPaths firstObject]).section;
tableViewHeight+=[tableView.delegate tableView:tableView heightForFooterInSection:oldsection];
tableViewHeight+=[tableView.delegate tableView:tableView heightForHeaderInSection:oldsection];
for(NSIndexPath *path in indexPaths)
{
if(oldsection!=path.section)
{
tableViewHeight+=[tableView.delegate tableView:tableView heightForHeaderInSection:path.section];
tableViewHeight+=[tableView.delegate tableView:tableView heightForFooterInSection:path.section];
oldsection=path.section;
}
tableViewHeight+=[tableView.delegate tableView:tableView heightForRowAtIndexPath:path];
}
return tableViewHeight;
}