加载数据时淡入tableView

时间:2013-08-15 14:00:32

标签: ios objective-c uitableview

在我的应用中,我有一个列表,可以推送包含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个部分(否则用户可以在填充数据之前看到表格中的标签和其他元素)。

1 个答案:

答案 0 :(得分:-2)

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[self.tableView reloadSections:indexPath withRowAnimation:UITableViewRowAnimationFade];