在iOS的视图编程指南中,它指出“每个iOS应用程序至少需要一个窗口 - 一个UIWindow类的实例 - 有些可能包含多个窗口。”
需要多个窗口的应用程序有哪些示例?
由于
答案 0 :(得分:1)
需要将视频输出到第二个屏幕的应用可能会使用多个窗口。 Here您对该特定主题有疑问。
您还可以使用多个窗口来实现其他目标,但Apple不建议这样做。一般情况下,如果您发现需要2个窗口或更多窗口,我建议您的方法有问题。
我玩了两个窗口来将cocos2d和uikit集成到一个测试项目中,代码很干净,想法是在窗口之间切换,必要时使用可见性和关键窗口。它有效,但有时在将应用程序发送到后台时,出于某种神奇的原因,活动的关键窗口将变得不可见。
答案 1 :(得分:0)
如果您将另一个屏幕(如电视)连接到您的设备,那么唯一需要多个窗口的案例就是Afaik。在这种情况下,您可以为第二个屏幕提供完全独立的UI。 F.E.当您将另一个屏幕连接到设备时,iPad上的Keynotes应用程序会执行此操作。
您可以注册UIScreenDidConnectNotification并按照以下方式处理:
- (void)screenDidChange:(NSNotification *)notification
{
if ([UIScreen screens] count] > 1)
{
UIScreen *extScreen = [[UIScreen screens] objectAtIndex:1];
UIWindow *extWindow = [[UIWindow alloc] initWithFrame:[extScreen bounds]];
//add some subviews to the window
extWindow.screen = extScreen;
[extWindow makeKeyAndVisible];
}
}