我正在制作一个待办事项列表应用程序,并且有 3 种自定义单元格类型。对于任务单元来说,它只是左侧的 ImageView 和右侧的 TextView 。我希望当 TextView 文本对于单行来说太大时,单元格能够自动调整自身大小。
我已经添加了正确的约束并将其添加到 viewWillAppear
tableView.estimatedRowHeight = 30
tableView.rowHeight = UITableView.automaticDimension
但是,当使用表格 View 进入 View 时,单元格会保持较小状态一秒钟,然后扩展到正确的大小。此外,在最初添加任务时,单元格不会调整大小,除非返回并再次打开 View Controller 或向上滚动表格 View 直到单元格超出 View 然后放开。
这是非常奇怪的行为,甚至在从 viewWillAppear 中删除上面两行时也会发生。它只是无缘无故地发生。
我希望单元格在进入 View 时具有正确的大小,并且不会稍后调整大小。
下面是一个示例
最佳答案
好吧,我终于找到答案了。我使用自动布局以编程方式创建了单元格,其中一些是在单元格内的layoutSubviews() 方法中设置的。该方法仅在需要时调用。所以当向上或向下滚动时。
要解决此问题,请在 cellForRowAt 方法中调用
cell.layoutSubviews()
关于swift - UITableView 单元格延迟扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52504473/