1

在我的应用程序中,我有一个列表,它推入一个包含UITableView.

  • tableView 的背景颜色始终为粗体颜色,但它取决于从前一个视图中选择的内容。
  • tableView 从 api 加载数据。
  • 数据加载完成后,我调用[self.tableView reloadData];并按预期显示数据。

我遇到的问题是屏幕在几秒钟内呈粗体颜色(取决于互联网连接)。当数据已加载,并且 tableView 重新加载时,它并不美观。

我很想用这样的淡入淡出动画重新加载;

[self.tableView reloadSections:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, 2)] withRowAnimation:UITableViewRowAnimationFade];

但是,这会导致以下崩溃:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'attempt to delete section 1, but there are only 0 sections before the update'

加载数据后,是否有一种友好的方法可以为我的 tableView 设置动画?

编辑:

  • 我应该补充的。表中的部分(和行)数未知,我需要替换代码中的数字(例如NSRangeMake用计数)。我确定我正在测试的示例有 3 个部分。

  • 但是,当页面加载时,有 0 个部分(否则用户可以在填充数据之前看到表格中的标签和其他元素)。

4

1 回答 1

-2
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[self.tableView reloadSections:indexPath withRowAnimation:UITableViewRowAnimationFade];
于 2013-08-15T14:12:39.887 回答