我使用视觉格式语言 (VFL) 来设置 UITableViewCustomCell 的 subview 的约束。
当我缓慢或正常速度滚动 TableView
时,它工作正常。
但是当我快速滚动 TableView
时它现在可以工作了。
有 3 种不同的情况。
TitleLabel --> 一行文字 DetailTextLabel --> 仅 0、1 或 2 行
看到这个屏幕截图,当我慢慢滚动它时它看起来是正确的
当我快速滚动时,它没有采用正确的约束
还有一件事。日志不显示任何警告。意味着所有约束都是完整和正确的。
我已经尝试了[self updateConstraintsIfNeeded]
...等等很多东西。
当我针对特定条件使用不同的单元格标识符时,它的工作正常。但我不想使用不同的单元格标识符。
最佳答案
要使自动版式正确工作,只需要设置所有约束并且约束之间没有冲突。如果您履行这些 promise 并确保您的 TableView rowHeight
属性设置为 UITableViewAutomaticDimension
(即自动调整单元格大小),那么一切都应该正常工作。此外,一个常见的错误是更新 tableView:cellForRowAtIndexPath:
而不是 tableView:willDisplayCell:forRowAtIndexPath:
中的单元格数据。如文档中所述,后一种方法使委托(delegate)可以覆盖基于状态的属性。确保您的 TableView 使用 self sizing cells .
关于ios - UITableViewCell(可重用单元格)未识别正确的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31386027/