在我的应用程序中,它有大约1000个内容显示在tableView中。每个内容都有不同的高度,因为其中有一到三行UILabel。目前,它计算并返回每个单元格的高度在的tableView委托功能:计算单元格高度的正确方法
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
它计算的方法是:
contentCell = (RSContentViewCell *)self.tmpCell;
UIFont *font = contentCell.myTextLabel.font;
width = contentCell.myTextLabel.frame.size.width + 30;
size = [contentStr sizeWithFont:font
constrainedToSize:CGSizeMake(width, CGFLOAT_MAX)
lineBreakMode:contentCell.myTextLabel.lineBreakMode];
height = size.height;
return height;
它的工作原理,但需要大约0.5秒来计算的高度,所以用户体验不太好,因为在计算过程中应用程序将不会有任何反应。 那么什么是正确的方法和计算这些细胞高度的正确位置在哪里?
UPDATE
的数据是从服务器,并在该输入表格视图中的时间要求。
这个函数一次调用需要0.5秒? –
这听起来不正确。 – Fogmeister
千个细胞需要0.5秒 –