ios在当前视图上添加状态窗口

时间:2014-01-07 01:08:20

标签: ios objective-c

我希望在整个应用程序上显示一个窗口(无论前面/活动的视图控制器是什么)。与Songza的相似(如下图所示)。我可以在AppDelegate中做这样的事情吗?如果不是,在哪里?此外,做这样的事情的最佳方式是什么(不推新视图,而是对应用程序的当前状态进行某种覆盖?

enter image description here

1 个答案:

答案 0 :(得分:0)

您有很多选择,最简单的解决方案是使用presentViewController:animated:completion:

或者,您可以创建一个包含其余视图的容器视图,并在您的函数中包含一个显示窗口视图的函数,只需使窗口视图可见并调用[containerView bringToSubviewFront:windowView];

另一种选择是遍历app委托中的窗口并将视图添加到正确的窗口(SVProgressHUD执行此操作):

NSEnumerator *frontToBackWindows = [[[UIApplication sharedApplication]windows]reverseObjectEnumerator];

for (UIWindow *window in frontToBackWindows)
   if (window.windowLevel == UIWindowLevelNormal)
   {
         [window addSubview:self.overlayView];
         break;
    }