我当前设计的工作方式是让一个单元出队并为其提供故事ID。在单元格initWithStyle
中,我创建了mysubView
(UILabel
),设置了autolayout
约束,并触发了一个加载故事标题API
的async
请求。然后,将文本设置为UILabel
。
问题是-在这一点上UITableViewController
已经计算出错误的单元格高度,因为最初UILabel
没有text
。现在唯一更新的方法是
parentTableView.beginUpdates
parentTableView.endUpdates
但这是错误的,因为我需要从单元内引用父
UITableView
,并且必须有更好的方法。我想念什么吗?我正在使用UITableViewAutomaticDimension
作为行高。
最佳答案
我建议您观看WWDC 2012的Session 211(构建并发用户界面)并在那里应用概念。这具有其内容被独立查询和呈现的单元格。
基本概念如下:
1.在tableView:cellForRowAtIndexPath
中,实例化一个单元格。
2.使用相同的方法,创建用于检索数据以填充单元格的操作,并将其存储到字典中。对单元格的引用将传递给该操作。该操作具有完成处理程序,该处理程序填充单元格并从字典中删除该操作。
3.在从方法返回单元格之前,将操作添加到操作队列中。
4.在tableView:didEndDisplayingCell:forRowAtIndexPath
中,取消移动到屏幕外的单元的操作被取消并从字典中删除。
关于ios - 如何从UITableViewCell更新heightForRow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38351171/