2014-01-07 41 views
0

我正在寻找在整个应用程序上展示一个窗口(无论前/活动视图控制器是什么)。类似于Songza所做的(下图)。我可以在AppDelegate中做这样的事吗?如果不是,在哪里?此外,什么是做这样的事情(不推一个新的观点,但某类覆盖的在应用程序的当前状态的最好方法是什么?ios在当前视图上添加状态窗口

enter image description here

+0

如果您发送电子邮件的Songza,并要求他们转发给开发者。很多时候,这些公司真的很有帮助。我已经和Wunderlist一样。他们给了我所有我感兴趣的代码。 –

+0

我之前所做的只是将一个新的半透明视图带到前面,但它没有掩盖任何导航栏,工具栏或选项卡栏。尽管如此,尽管如此,UIWindow对象本身也可能需要搞乱。 – valheru

回答

0

你有很多选择,最简单的解决办法是使用presentViewController:animated:completion:

或者,你可以创建一个持有你的观点休息,包括一个函数来显示你的窗口视图,在功能的容器视图,只是使窗口视图中可见,并呼吁[containerView bringToSubviewFront:windowView];

另一种选择是穿过窗户在你的应用程序委托,并添加视图到适当的窗口(SVProgressHUD做到这一点):

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

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