我有很多customCell,每个单元格可能有一个按钮,其作用类似于文本框或textArea。当View加载时,它们的高度非常低。
override func viewDidLoad() {
super.viewDidLoad();
self.view.backgroundColor = UIColor.groupTableViewBackground
self.tableView.separatorStyle = UITableViewCellSeparatorStyle.none
self.tableView.estimatedRowHeight = 100
tableView.rowHeight = UITableViewAutomaticDimension
self.tableView.setNeedsLayout()
self.tableView.layoutIfNeeded()
}
上定义了以下约束
自动布局是否可以与原型单元一起使用? 如果不是如何实现这个? 我试过HeightforrowAtIndexPath方法布局看起来不错,只有在滚动之后。视图的初始加载不会有良好的布局。
下面是我的代码。
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if (eleData.elementType=="apple")
{
return 90;
}
else if (eleData.elementType=="banana")
{
return 50;
}
else
{
return 30;
}
}
任何建议。 提前谢谢。
答案 0 :(得分:1)
快速谷歌搜索为您提供答案......
UITableView dynamic cell heights only correct after some scrolling
如果需要,您需要在cellForRowAtIndexPath方法中返回单元格之前添加布局:
cell.layoutIfNeeded()