动态高度UITableViewCell数据顺序错误

时间:2013-07-06 12:39:58

标签: ios dynamic uitableview

[tableView beginUpdates]中拨打tableView endUpdates]和[cellforRowAtIndexPath是否合适?

我正在尝试根据单元格内的内容动态扩展单元格高度。当我在tableView beginUpates]中使用[tableView endUpdates]和[cellForRowAtIndexPath时,输出看起来不错。但是,一旦我开始滚动,单元格中的数据就会被错误地排序,有时表格单元格之间的条形分隔符会消失。

我不应该使用[tableView beginUpdates][tableView endUpdates]吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您必须在heightForRowAtIndexPath中指定动态单元格高度,因为表格视图需要预先知道其内容大小。您在cellForRowAtIndexPath中对单元框架所做的任何更改都将被表视图覆盖,因此您尝试的操作将无效。

如果您的高度来自细胞的内容,请考虑使用原型方法here。此外,如果您可以使用第三方库,请查看TLIndexPathTools。如果您的自定义单元类实现TLDynamicSizeView原型,它可以免费获得动态单元格高度。尝试运行Dynamic Height示例项目。