3 回答
TA贡献1871条经验 获得超13个赞
您UITableViewDelegate应该实施tableView:heightForRowAtIndexPath:
目标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:方法来计算行高,而不是仅对indexPath进行一些愚蠢的数学运算:)
TA贡献1828条经验 获得超3个赞
如果所有行的高度都相同,则只需设置rowHeightUITableView 的属性,而不要实现heightForRowAtIndexPath。苹果文档:
使用tableView:heightForRowAtIndexPath:而不是rowHeight会对性能产生影响。每次显示表视图时,它都会在委托上为其表的每一行调用tableView:heightForRowAtIndexPath:,这可能导致表视图具有大量行(大约1000或更多)而导致严重的性能问题。
- 3 回答
- 0 关注
- 599 浏览
添加回答
举报