【问题标题】:UIActivityIndicator while loading data into UITableView将数据加载到 UITableView 时的 UIActivityIndi​​cator
【发布时间】:2011-07-24 11:50:01
【问题描述】:

我有一个 UITableView 从网络加载它的数据。加载这些数据需要一段时间,因此我希望在加载数据时有一个活动指示器动画。为了完成这项工作,我正在执行以下操作:

1) 在 vi​​ewDidLoad 中,我添加了一个观察者来监听数据加载完成的时间,然后我调用 loadDataFromWeb

2) loadDataFromWeb 创建活动指示器,将其作为子视图添加到 self.view,然后加载数据。最后它发布一个通知(viewDidLoad 观察到的那个)来表明加载过程已经完成。

3) 最后,当观察者从 loadDataFromWeb 捕捉到帖子时,它会调用 removeLoadingScreen 来移除指示器。

很明显,我没有看到我的指标视图。如果我注释掉删除指示器的行,它会在加载所有内容时停留在屏幕上。我知道在此过程中我可能会搞乱调用哪些方法,这就是我需要帮助的地方。

我应该提到,整个目的是,我希望显示一个活动指示器来指示这里发生了一些事情,而不是用户正在查看一个没有发生任何事情的屏幕(当数据加载时)。

谢谢

【问题讨论】:

  • 你确定你是在主线程之外进行网络通信吗?看起来你让主线程进行下载,这是一个禁忌:]
  • 尼尔斯·蒙克你说得对:)

标签: iphone xcode uitableview uiactivityindicatorview


【解决方案1】:

@Muncken 看看这个 MBProgresHUD 项目,这将帮助您在后台(辅助线程而不是主线程)进行下载进度,并在您的视图上显示活动指示器 -

https://github.com/matej/MBProgressHUD

【讨论】:

  • saadnib 我会看看这个然后返回。谢谢你!
  • 看起来不错,saadnib。但是,我在如何将它实施到我的项目中时遇到了一些困难。线程在演示项目的 IBAction 中触发。我应该在哪里解雇他们?
  • 好的,我在这里向前移动了一点,但似乎我缺少一些东西。加载器按原样显示,我可以看到,使用 NSLog,加载器方法运行正常,但似乎没有加载数据。这是我的 viewDidLoad:pastebin.com/LZkjRjdG
  • 您的 viewDidLoad 看起来不错。您能否发布您通过 HUD 加载数据的功能代码?
  • 啊哈,我也必须通过HUD加载数据一些如何?我没有意识到这一点。无论如何,这是 loadData 函数:pastebin.com/LR8rmC7B
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多