代码之家  ›  专栏  ›  技术社区  ›  Piero

reloadRowsAtIndexPath块用户界面

  •  0
  • Piero  · 技术社区  · 11 年前

    我有一个iOS应用程序 UITabbarController ,在一个选项卡视图中有 UITableViewController ,当我切换选项卡i时,将重新加载可见单元格行,因为该行包含 UILabel 随着时间的流逝,我想要刷新时间,但当我用 UITableView ,我使用以下代码:

    NSArray *visible = [self.tableView indexPathsForVisibleRows];
    [self.tableView beginUpdates];
    [self.tableView reloadRowsAtIndexPaths:visible withRowAnimation:UITableViewRowAnimationNone];
    [self.tableView endUpdates];
    

    我把它叫进来 ViewWillAppear ,并且使用此代码需要一段时间才能打开,它不是立即的,没有它是立即的。那么我如何在不阻塞UI的情况下刷新这些行?

    1 回复  |  直到 11 年前
        1
  •  0
  •   Jack    11 年前

    将代码放入 ViewWillAppear: 意味着它开始运行 之前 这种观点已经出现了。由于您希望用户看到动画,因此将此代码移入 ViewDidAppear

    别忘了打电话 [super viewDidAppear] !