我有一个 TableView Controller ,其原型(prototype)单元格的样式为“Left Detail”。
-在我的 viewDidLoad() 中,我有 self.tableView.estimatedRowHeight = 40
和 self.tableView.rowHeight = UITableViewAutomaticDimension
就像许多解决方案所说的那样。然而,当我的细节标签变得太大时(比如描述单元格),单元格不会随着文本增长。
-我也尝试在 viewDidAppear(animated:) 中重新加载数据,但这没有帮助。
-我现在的 heightForRowAtIndex 函数中没有任何内容,但我也尝试设置它,但没有解决我的问题。
-填充单元格后,我还在我的 cellForRowAtIndexPath 中尝试了 cell.sizeToFit()。
我是否遗漏了一些明显的东西?还是“Left Detail”样式限制了单元格高度?
最佳答案
您没有遗漏任何我知道的明显信息,但可能会遇到涉及内置单元格样式的极端情况。 self 调整大小存在少量问题,它主要适用于内置样式,但 can fail for certain cases .
这是内置样式管理标签和约束的方式与自定义单元格样式不同的副作用。如果您在调试器中检查内置单元格的内容 View ,它的约束数组是空的。
对于一种边缘情况,如果某个单元格不需要内置标签之一,Apple 会通过从单元格中完全删除该 View 来优化它。当该单元格被重用并且需要重新添加标签时,约束不会针对该初始事件进行更新。可以通过确保两个标签始终有文本来解决该特定问题,这样 View 就不会被删除。
您绝对不需要包含 heightForRowAtIndexPath
。您应该删除它,然后查看是否可以解决 cellForRowAtIndexPath
中的内置样式问题。如果不是,您可能必须使用模仿 Left Detail 样式的自定义单元格。
无论哪种方式,我都推荐 submitting a bug report用一个小示例项目来说明“左细节”问题,因为 Apple 已经解决了其中的许多问题,并且内置样式自调整大小变得更加有用。
关于ios - "Left Detail"样式单元格文本中的详细信息标签被截断 - swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35442999/