初始加载UITableView返回默认高度。 heightForRowAtIndexPath已实现

时间:2012-12-17 19:29:51

标签: uitableview heightforrowatindexpath

在这个项目中,我使用来自Web服务的数据填充表。随着更多数据的可用,表格会重新加载。我正在使用heightForRowAtIndexPath根据标题字符串的大小调整单元格的大小。它返回54的MAX或字符串高度。奇怪的是,表第一次遍历加载序列时,它为每个单元返回44。我在cellForRowAtIndexPath中记录单元格高度。当第二次调用重载时,我得到正确的单元格高度。结果是细胞子视图最初不合适,然后非常突然地放置到位。想知道是否有人对UITableView有任何可能指向正确方向的见解。谢谢!

1 个答案:

答案 0 :(得分:1)

你必须在成员变量中调用reload之前存储字符串的大小,因为字符串先得到所以它会更容易,接下来就是在indexPath方法中为行返回该成员变量的高度;

@interface
{
   CGSize fixedStringSize;
}

@implementation


-(void)dataFinishDownload
{
   fixedStringSize = [yourCustomMethodForStringSize:titleString];
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
   return fixedStringSize.height;
}

@end