Iphone 在整个应用程序中使用ActivityIndicator的良好设计

Iphone 在整个应用程序中使用ActivityIndicator的良好设计,iphone,cocoa-touch,Iphone,Cocoa Touch,当加载不同的视图和检索数据时,我需要在我的应用程序中使用活动指示器视图。问题是我将放置指示器的mainVC并不总是知道处理何时发生,因此它可以启动指示器,但无法停止它 e、 g.主VC加载,然后以编程方式添加一个新的VC——该VC反过来要求模型检索——它显示数据等。因此,这个新添加的VC实际上知道处理何时完成,尽管指示器在顶部可见,但它无权访问指示器视图 我正在考虑使用通知-这是处理这种情况的最佳方法吗?我建议您查看brilliant MBProgressHUD库: 这是一组非常简单的类,可用于

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

e、 g.主VC加载,然后以编程方式添加一个新的VC——该VC反过来要求模型检索——它显示数据等。因此,这个新添加的VC实际上知道处理何时完成,尽管指示器在顶部可见,但它无权访问指示器视图


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

我建议您查看brilliant MBProgressHUD库:

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


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

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

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


这种设计对于视图尤其重要,因为视图随时都有被卸载/重新加载的风险。

不知道您刚才说了什么,很抱歉,您不能仅依靠通知。您还需要有一些方法来确定指示器是否应在特定时间处于活动状态。