gpt4 book ai didi

swift - UITableViewCell 高度自动布局不适用于 iOS 10

转载 作者:可可西里 更新时间:2023-10-31 23:54:57 24 4
gpt4 key购买 nike

我有一个非常简单的 UITableViewController,我想在其中为 UITableViewCell 的每个 textLabel 设置一个文本。

高度应由自动布局计算。因此,在我的 viewDidLoad 中,为 tableView 属性设置以下值:

tableView.estimatedRowHeight = UITableViewAutomaticDimension
tableView.rowHeight = UITableViewAutomaticDimension

这是我的 cellForRow 方法,我在其中初始化默认的 UITableViewCell 并将文本设置为其标签。

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell()
cell.textLabel?.numberOfLines = 0
cell.textLabel?.text = "hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello"
return cell
}

我的问题是,细胞不会根据标签的大小增长。此问题仅出现在 iOS 10 上。在 iOS 11 上,一切都按照应有的方式进行布局。

请检查以下屏幕截图:

  • iOS 10

enter image description here

  • iOS 11

enter image description here

编辑:2018 年 5 月 24 日

只有 textLabel,如果 estimatedRowHeight 上有实际值,它将起作用。

但是如果单元格的样式为 .subtitle,并为 descriptionLabel 设置一个值,则布局将不起作用。同样的问题:iOS 10 不工作。 iOS 11 有效(单元格根据两个标签调整大小)。

最佳答案

viewDidLoad 中的配置:

tableView.estimatedRowHeight = UITableViewAutomaticDimension
tableView.rowHeight = UITableViewAutomaticDimension

...仅适用于 iOS 11。它是 iOS 11 的一项创新,不适用于更早的系统。

对于 iOS 10,您必须提供实际的 estimatedRowHeight 值(例如 60)以打开自动可变行高计算。

关于swift - UITableViewCell 高度自动布局不适用于 iOS 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50513256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com