【发布时间】:2010-04-16 04:05:25
【问题描述】:
我正在从 tableview1.row 导航到 tableview2,它有很多行被获取。鉴于加载时间约为 3 秒,我希望导航在选择 tableview1.row 后立即滑入 tableview2,然后在 tableview2 上方显示 UIActivityIndicatorView,同时获取数据,然后在其基础表视图中呈现。注意,tableview2 实际上是父 UIView 的子视图(而不是父 UITableView)。
我看过这个帖子:Activity indicator should be displayed when navigating from UITableView1 to UITableView2
... 它给出了将数据获取周围的活动指示器 start 和 stopAnimating 调用添加到 tableview2 的 viewDidLoad 的指令。
问题是,我不确定上述解决方案如何工作,因为 viewDidLoad 在 tableview2 明显滑入视图之前运行和完成。
另外,我还尝试在 IB 中的 tableview2 上添加一个活动指示器,并将 IBOutlet 指示器的开始/停止动画代码添加到 viewDidAppear 中。发生的情况是数据提取运行,我可以看到指示器在旋转,但在提取结束时,表视图是空的。似乎 viewDidAppear 为时已晚,无法将数据添加到表格视图,因为 cellForRowAtIndexPath 等已经触发。
任何人都可以提出任何建议吗?我很可能在这里遗漏了一些明显的东西(我现在将近凌晨 5 点,我认为我的大脑很糊状)。我应该从 viewDidAppear 重新触发 cellForRowAtIndexPath 等吗?我的表格视图是子视图而不是父视图的问题吗?
谢谢
【问题讨论】:
-
我很想看看可可忍者的回答。可可中的事件堆栈让我感到困惑,我可以看到你的问题,但遗憾的是我无法提供帮助,因为我遇到了同样的问题。
标签: uiactivityindicatorview viewdidappear