在Xcode 9.0.1单元格大小的UITableviewcell中它不会在运行时扩展?

时间:2017-10-31 09:25:03

标签: swift uitableview

我尝试过拖放UITableviewcell并从文件检查器更改行高不能在运行时扩展单元格高度。

I have tried with drag and drop UITableviewcell and change row height from file inspector cannot expanded cell height at runtime

在Xcode 9.0.1中的

我面临着关于Cell高度在运行时没有增加的问题。

2 个答案:

答案 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来完成的,就像我在下面的图像中为我的标题标签所做的那样:

enter image description here

3:最后,您必须为单元格中的每个元素设置约束,以便编译器可以在运行时正确计算单元格的大小。在这里,我添加了两个标签,第一个到视图顶部的高度,下面是标签2的底部。然后标签2必须与视图的底部相对应。只要你的约束没有包含"间隙"在单元格顶部到底部之间,编译器可以计算单元格的高度:

enter image description here