3 回答

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
您UITableViewDelegate應(yīng)該實(shí)施tableView:heightForRowAtIndexPath:
目標(biāo)C
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return [indexPath row] * 20;
}
迅捷5
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return indexPath.row * 20
}
您可能需要使用NSString的sizeWithFont:constrainedToSize:lineBreakMode:方法來計(jì)算行高,而不是僅對indexPath進(jìn)行一些愚蠢的數(shù)學(xué)運(yùn)算:)

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果所有行的高度都相同,則只需設(shè)置rowHeightUITableView 的屬性,而不要實(shí)現(xiàn)heightForRowAtIndexPath。蘋果文檔:
使用tableView:heightForRowAtIndexPath:而不是rowHeight會(huì)對性能產(chǎn)生影響。每次顯示表視圖時(shí),它都會(huì)在委托上為其表的每一行調(diào)用tableView:heightForRowAtIndexPath:,這可能導(dǎo)致表視圖具有大量行(大約1000或更多)而導(dǎo)致嚴(yán)重的性能問題。
- 3 回答
- 0 關(guān)注
- 627 瀏覽
添加回答
舉報(bào)