swift - UITableView 单元格延迟扩展

标签 swift xcode uitableview

我正在制作一个待办事项列表应用程序,并且有 3 种自定义单元格类型。对于任务单元来说,它只是左侧的 ImageView 和右侧的 TextView 。我希望当 TextView 文本对于单行来说太大时,单元格能够自动调整自身大小。

我已经添加了正确的约束并将其添加到 viewWillAppear

tableView.estimatedRowHeight = 30
tableView.rowHeight = UITableView.automaticDimension

但是,当使用表格 View 进入 View 时,单元格会保持较小状态一秒钟,然后扩展到正确的大小。此外,在最初添加任务时,单元格不会调整大小,除非返回并再次打开 View Controller 或向上滚动表格 View 直到单元格超出 View 然后放开。

这是非常奇怪的行为,甚至在从 viewWillAppear 中删除上面两行时也会发生。它只是无缘无故地发生。

我希望单元格在进入 View 时具有正确的大小,并且不会稍后调整大小。

下面是一个示例

Example

最佳答案

好吧,我终于找到答案了。我使用自动布局以编程方式创建了单元格,其中一些是在单元格内的layoutSubviews() 方法中设置的。该方法仅在需要时调用。所以当向上或向下滚动时。

要解决此问题,请在 cellForRowAt 方法中调用

cell.layoutSubviews()

关于swift - UITableView 单元格延迟扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52504473/

相关文章:

swift - swift 扩展一个泛型类

swift + Xcode : use osascript in Mac App

ios - 在 UIImageWriteToSavedPhotosAlbum - Swift 3 中使用 contextInfo、UnsafeRawPointer

objective-c - Objective-C - XCode 无法识别 if 语句之外的变量

ios - 顶部的 UITableView 可见行

swift - 放弃 UITableView 内的更改不会反射(reflect)在 UITextView 不可见但处于事件状态的单元格上

ios - 如何使用 UISearchBar 过滤 NSDictionary?

swift - Xcode 和 Swift 本地化 - 恢复基础语言

javascript - 如何让 XCode 运行 NODE_ENV == 'production' 的 react native 项目

iphone - UITableViewCell 的 viewDidAppear