ios - 重新加载 UITableView 部分时,所有部分都会闪烁

标签 ios objective-c uitableview

我正在使用 UITableViewController,并且正在使用:

[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:sectionNumber] withRowAnimation:UITableViewRowAnimationNone];

重新加载 tableview 的单个部分(以动画方式插入新单元格)。问题是每次进行此调用时,所有部分及其单元格都会短暂闪烁白色。如果我使用

则不会发生这种情况
[self.tableview reloadData];

但无论我使用哪一行动画都会发生。

我知道我可以使用 insertRowsAtIndexPaths:withRowAnimation:,但我目前的竞争条件不允许我使用它。我会在某个时候解决这个问题,但与此同时我想知道为什么在我重新加载单个部分时所有部分单元格都会闪烁。此外,如果我可以关闭闪光灯并仅对单元格的插入/删除进行动画处理,那就太理想了。

最佳答案

我认为它闪烁是因为当您重新加载特定部分时,它仍然必须重新计算所有可见部分的大小。因此闪光灯。如果不使用插入/删除(因为它知道表只会改变一个),你就无法通过它。

如果您只是在模拟器中尝试此操作,则当加载到实际设备上时,闪光灯可能会消失或不太明显。

关于ios - 重新加载 UITableView 部分时,所有部分都会闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19990482/

相关文章:

ios - 如何将选择器方法设置为 Objective-C 中文本更改的文本字段?

objective-c - "float_t"是做什么用的?

ios - 如何使用textview移动到 TableView 中的下一个单元格/行

ios - UITableView 滚动时跳动和闪烁

objective-c - 对象在 iOS5 上被释放,但在 iOS4 上没有。如何追踪?

ios - 动态 UITableViewCell 内容不展开单元格

iphone - 交易更新时,StoreKit 不会调用 paymentQueue

iphone - 在 iOS 5.1 中创建具有不同样式文本的 UILabel,而不使用 Storyboard

c# - 使用Unity和ARKit的屏幕截图

swift - 默认 UITableView Cell 自动高度