【发布时间】:2013-11-04 22:43:43
【问题描述】:
我有一个 UITableview 可以延迟加载所有不同大小的图像。当图像加载时,我需要更新特定的单元格,所以我发现我需要使用 reloadRowsAtIndexPaths。但是当我使用这个方法时,它仍然为每个单元格调用 heightForRowAtIndexPath 方法。我认为 reloadRowsAtIndexPaths 的全部目的是它只会为您指定的特定行调用 heightForRowAtIndexPath?
知道为什么吗?
[self.messageTableView beginUpdates];
[self.messageTableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:count inSection:0]] withRowAnimation:UITableViewRowAnimationNone];
[self.messageTableView endUpdates];
谢谢
【问题讨论】:
-
你试过只使用.. [self.messageTableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:count inSection:0]] withRowAnimation:UITableViewRowAnimationNone];
-
您的意思是不要将其包装在 beginUpdates 和 endUpdates 中?是的,我试过了,它仍然试图重做每个单元格的高度。真的很烦人,因为我希望它只为这个特定的单元格调用 heightForRowAtIndexPath。
-
我相信它应该只为这个单元格调用 heightForRowAtIndexPath 是否正确?还是对表格中的每个单元格再次调用此方法?
-
我认为它应该只要求您重新加载的行。我不知道为什么它要求所有可见的行。这可能取决于您如何显示您的单元格。尝试不使用 dequeueReusableCellWithIdentifier。
-
如何创建没有 dequeueReusableCellWithIdentifier 的单元格?所以我确定的是,我的应用程序中 reloadData 和 reloadRowsAtIndexPaths 之间的唯一区别是 reloadData 为每个可见单元格调用 cellForRowIndex,而 reloadRowsAtIndexPaths 仅为一个单元格调用 cellForRowIndex。但他们仍然为表中的每个单元格调用 heightForRowAtIndexPath uggh
标签: ios uitableview