在我的應用程序中,它有大約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秒 –