在 iOS 的视图编程指南中,它声明“每个 iOS 应用程序至少需要一个窗口——一个 UIWindow 类的实例——而且有些可能包含多个窗口。”
有哪些示例应用程序需要多个窗口?
谢谢
在 iOS 的视图编程指南中,它声明“每个 iOS 应用程序至少需要一个窗口——一个 UIWindow 类的实例——而且有些可能包含多个窗口。”
有哪些示例应用程序需要多个窗口?
谢谢
需要将视频输出到第二个屏幕的应用程序可能会使用多个窗口。 在这里,您有关于该特定主题的问题。
您也可以使用多个窗口来实现其他目标,但 Apple 不建议这样做。一般来说,如果您发现需要 2 个或更多窗口,我建议您的方法有问题。
我在一个测试项目中使用了 2 个窗口来集成 cocos2d 和 uikit,代码非常干净,想法是在窗口之间切换,根据需要使用可见性和关键窗口。它有效,但有时在将应用程序发送到后台时,由于某种神奇的原因,活动的关键窗口会变得不可见。
Afaik 唯一需要多个窗口的情况是,如果您将另一个屏幕(如电视)连接到您的设备。在这种情况下,您可以为第二个屏幕提供完全独立的 UI。当您将另一个屏幕连接到设备时,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];
}
}