我尝试过拖放UITableviewcell并从文件检查器更改行高不能在运行时扩展单元格高度。
在Xcode 9.0.1中的
我面临着关于Cell高度在运行时没有增加的问题。
答案 0 :(得分:0)
Swift 3 + 如果你想要动态行高,你可以定义你的约束(确保它们是明确的),将标签的numberOfLines设置为零,然后在viewDidLoad中,告诉它行应该自动调整它们的高度: / p>
override func viewDidLoad() {
super.viewDidLoad()
tableView.estimatedRowHeight = your height here
tableView.rowHeight = UITableViewAutomaticDimension
}
或试试这个。
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
答案 1 :(得分:0)
您必须将您的单元格配置为自行调整大小:
1:将以下行添加到viewDidLoad()。指定一个tableViewRowHieght,您认为它将是tableView中显示的单元格的平均高度:
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 200
2:确保您单元格中的所有标签都能够根据需要扩展到尽可能多的行。这是通过将属性检查器中的行数设置为0来完成的,就像我在下面的图像中为我的标题标签所做的那样:
3:最后,您必须为单元格中的每个元素设置约束,以便编译器可以在运行时正确计算单元格的大小。在这里,我添加了两个标签,第一个到视图顶部的高度,下面是标签2的底部。然后标签2必须与视图的底部相对应。只要你的约束没有包含"间隙"在单元格顶部到底部之间,编译器可以计算单元格的高度: