Iphone 与模型有关的概念问题–;视图–;iOS上的控制器

Iphone 与模型有关的概念问题–;视图–;iOS上的控制器,iphone,objective-c,ios,progress,Iphone,Objective C,Ios,Progress,该问题涉及一个应用程序,该应用程序以UINavigation控制器样式使用多个视图。 在后台,有一个加载和缓存数据的进程,该进程相当广泛,可能需要相当长的时间,也就是说,它被设计为在单独的线程上运行,在后台执行加载任务,而其他视图对用户来说是存在和活动的 问题:假设我想向用户显示后台运行的进度,例如进度视图或类似视图。我不认为每个视图都应该有一个progressView,它由一些通知/侦听器机制填充和控制 逻辑告诉我,应该有一种方法,只有一个进度视图存在于所有视图中,并且以某种方式只被调用一次,

该问题涉及一个应用程序,该应用程序以UINavigation控制器样式使用多个视图。 在后台,有一个加载和缓存数据的进程,该进程相当广泛,可能需要相当长的时间,也就是说,它被设计为在单独的线程上运行,在后台执行加载任务,而其他视图对用户来说是存在和活动的

问题:假设我想向用户显示后台运行的进度,例如进度视图或类似视图。我不认为每个视图都应该有一个progressView,它由一些通知/侦听器机制填充和控制

逻辑告诉我,应该有一种方法,只有一个进度视图存在于所有视图中,并且以某种方式只被调用一次,只分配一次,依此类推

如果我的逻辑是正确的,我们应该如何处理这个问题,这个元素应该放在哪里


任何想法、理念或线索都将受到高度赞赏。

将其作为UIWindow的子视图添加到UINavigationController视图上方。这就是我为成就等进行覆盖的方式,可以在任何时候发生。

添加到视图层次结构的每个UIView都有一个属性
窗口
。UIWindow也是UIView,因此您只需向其中添加一个视图,它就会覆盖任何其他视图

编辑

我写了一个例子:

那么在委托文件中呢?你能提供一个例子吗,或者仅仅是MyView*viewController=[MyView alloc];[窗口添加子视图:viewController.view];我就是这样做的。我有一个单例类,它管理覆盖层的表示(一次只能有一个,队列等,它有一个rootView属性,我在第一次运行App委托时设置了这个属性)。或者,正如@vikingsegundo提到的,您可以使用屏幕上UIView的窗口属性。您的建议仅适用于纵向,或者如果您使用没有标签和未定义进度的对称进度视图。在其他情况下,您应该执行旋转,因为
UIWindow
不支持方向