加载视图后,静态表视图中的单元格不会调整大小

时间:2017-01-28 02:42:36

标签: ios swift uitableview

我希望海报有一个固定的高度,其余内容应该动态调整大小。第2和第3部分的文本大小应该动态决定,即应根据文本内容决定。

image

仅当屏幕滚动至少2次时,内容才会调整大小。这是我在heightforrowat和估计的heightforat中编写的代码。

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    if indexPath.section == 0{
        return CGFloat(250)
    }
    else {
        return UITableViewAutomaticDimension
    }
}

override func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {

    if indexPath.section == 0{
        return CGFloat(250)
    }
    else {
        return UITableViewAutomaticDimension
    }

}

2 个答案:

答案 0 :(得分:1)

一些事情:

  1. 您不应该使用UITableViewAutomaticDimension作为estimatedHeightForRowAt的返回值,而应该返回固定值。

  2. 此外,您需要为所有具有动态高度的numberOfLines设置lineBreakMode为0和word wrapUILabels

    < / LI>
  3. 确保为每个UILabel正确设置约束,以便他们正确调整大小。即superview

  4. 的顶部,底部,前导和尾随约束

答案 1 :(得分:0)

它不使用UITableViewController的默认单元格。所以我没有创建自定义UITableViewCell,其中一个标题和描述标签带有约束。它就像一个魅力。

请参阅附图以供参考

enter image description here 另请查找使用的示例源代码。

https://www.dropbox.com/s/v8rgab3x8eirp3q/SelfSizingDemo.zip?dl=0