//在自定义单元格页眉页脚和任何其他废话的情况下实现此
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;
}