我有一个表视图控制器,其原型单元格的样式为“左详细信息”。
-在我viewDidLoad中()我self.tableView.estimatedRowHeight = 40
和self.tableView.rowHeight = UITableViewAutomaticDimension
像许多解决方案已经说到做到。但是,当我的详细信息标签太大时(例如描述单元格),该单元格不会随文本一起增长。
-我也尝试在viewDidAppear(animated :)中重新加载数据,但这没有帮助。
-现在我的heightForRowAtIndex函数中没有任何内容,但也尝试设置该值,但这无法解决我的问题。
-在单元格填充后,我还在cellForRowAtIndexPath中尝试了cell.sizeToFit()。
我是否缺少明显的东西?还是“左细节”样式中有某些东西限制了单元格的高度?
您不会丢失任何我知道的明显东西,但是可能会遇到涉及内置单元格样式的边缘情况。自调整大小存在一些问题,它主要适用于内置样式,但在某些情况下可能会失败。
这是内置样式与自定义单元格样式不同的方式,如何管理其标签和约束的副作用。如果您在调试器中检查内置单元的内容视图,则其约束数组为空。
对于一个边缘情况,如果单元格不需要内置标签之一,Apple会通过从单元格中完全删除该视图来对其进行优化。当该单元被重用并且需要重新添加标签时,约束不会针对该初始事件进行更新。通过确保两个标签始终都包含文本,可以解决该特定问题,因此视图永远不会被删除。
您绝对不需要包含heightForRowAtIndexPath
。您应该删除它,然后查看是否可以解决中的内置样式问题cellForRowAtIndexPath
。如果不是,则可能必须使用模拟“左详细信息”样式的自定义单元格。
无论哪种方式,我都建议通过一个小示例项目提交一个错误报告,该示例项目说明“左详细信息”问题,因为Apple已修复了许多问题,并且内置样式自定义功能更加有用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句