我正在像这样设置 heightForRowAtIndexPath:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
/* Contains the string */
NSString *allStrings = [self convertMainData:indexPath];
UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:17.0];
CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
CGSize labelSize = [allStrings sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:NSLineBreakByWordWrapping];
return labelSize.height + 20;
}
当表格不为空并且大小计算正确时会调用它,现在的问题是,如果表格中有数据,所有单元格的高度都会改变:
http://img716.imageshack.us/img716/3025/yrgt.png
我试过在委托方法中检查这个
if([tableview cellForRowAtIndexPath:IndexPath] == nil)
return 20;
但这会返回一个错误,我也尝试将它包装在!= nil 中,但这没有效果,那么我如何将空行保留在默认高度?