ios - 如何从UITableViewCell更新heightForRow

标签 ios objective-c uitableview rubymotion

我当前设计的工作方式是让一个单元出队并为其提供故事ID。在单元格initWithStyle中,我创建了mysubView(UILabel),设置了autolayout约束,并触发了一个加载故事标题APIasync请求。然后,将文本设置为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/

相关文章:

ios - 为什么我没有收到任何加速度计更新?

ios - 如何检测 Spritekit 节点上的滑动?

ios - 图像适合 UICollectionView 单元格

iOS 删除键没有反应

ios - 使用 Storyboard从动态 TableView 自定义 Segue?

ios - 不确定如何修复 NSInconsistencyException

ios - 在后台模式下播放音频

android - 用于 iOS 和 Android 开发的 Corona vs Titanium

ios - UIViewController 不会弹出

iphone - 为什么我的 UITableView 在异步重新加载数据期间滚动时会失去流动性?