在整个应用程序中拥有ActivityIndi​​cator的良好设计

时间:2011-04-28 10:35:39

标签: iphone cocoa-touch

当加载不同的视图和检索数据时,我的应用程序中需要一个活动指示器视图。问题是mainVC(我将放置指标)并不总是知道何时发生处理,因此它可以启动指标,但它无法阻止它。

e.g。 mainVC加载然后以编程方式添加一个新的VC - 这个VC依次要求模型检索 - 它显示数据等。所以这个新添加的VC实际上知道处理何时完成并且它无法访问指标视图(尽管指标在顶部可见。

我在考虑使用通知 - 这是处理这种情况的最佳方法吗?

2 个答案:

答案 0 :(得分:0)

我建议您查看精彩的MBProgressHUD库:

https://github.com/matej/MBProgressHUD

这是一组非常简单的类,可用于显示加载和进度视图,应用程序中的所有视图控制器都可以访问这些视图。基本上,您可以在应用代理中进行设置,并将其添加到您的应用窗口。

然后,每个视图控制器都可以从代理访问进度视图,并在需要时显示/隐藏它。它附带了一个示例项目和代码 - 它非常易于使用和定制。

答案 1 :(得分:0)

通知是解决方案的一半。您必须将它们与持久对象组合在一起,以便您始终可以获得当前状态。例如,当一个视图控制器即将出现时,它需要从某个地方读取初始的“下载”状态,因为VC可能是在发送“开始”或“结束”通知之后创建的。

然后,当VC处于活动状态时,它可以简单地响应通知以更新指示符。

这种设计对于视图来说尤为重要,因为视图可能会一直被卸载/重新加载。