在[tableView beginUpdates]
中拨打tableView endUpdates]
和[cellforRowAtIndexPath
是否合适?
我正在尝试根据单元格内的内容动态扩展单元格高度。当我在tableView beginUpates]
中使用[tableView endUpdates]
和[cellForRowAtIndexPath
时,输出看起来不错。但是,一旦我开始滚动,单元格中的数据就会被错误地排序,有时表格单元格之间的条形分隔符会消失。
我不应该使用[tableView beginUpdates]
和[tableView endUpdates]
吗?
谢谢!
答案 0 :(得分:0)
您必须在heightForRowAtIndexPath
中指定动态单元格高度,因为表格视图需要预先知道其内容大小。您在cellForRowAtIndexPath
中对单元框架所做的任何更改都将被表视图覆盖,因此您尝试的操作将无效。
如果您的高度来自细胞的内容,请考虑使用原型方法here。此外,如果您可以使用第三方库,请查看TLIndexPathTools。如果您的自定义单元类实现TLDynamicSizeView
原型,它可以免费获得动态单元格高度。尝试运行Dynamic Height示例项目。