Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于iOS,应用程序何时会使用多个窗口?_Ios_Cocoa Touch_Uiview - Fatal编程技术网

对于iOS,应用程序何时会使用多个窗口?

对于iOS,应用程序何时会使用多个窗口?,ios,cocoa-touch,uiview,Ios,Cocoa Touch,Uiview,在iOS的view programming guide(查看编程指南)中,它指出“每个iOS应用程序至少需要一个窗口—UIWindow类的实例,有些可能包含多个窗口。” 哪些应用程序需要多个窗口 谢谢需要将视频输出到第二个屏幕的应用程序可能会使用多个窗口。 你对那个特定的话题有疑问 您也可以使用多个窗口来实现其他目标,但苹果不推荐这样做。一般来说,如果你发现你需要两个或更多的窗口,我建议你的方法有问题 我在一个测试项目中使用了两个窗口来集成cocos2d和uikit,代码非常干净,想法是在窗口之

在iOS的view programming guide(查看编程指南)中,它指出“每个iOS应用程序至少需要一个窗口—UIWindow类的实例,有些可能包含多个窗口。”

哪些应用程序需要多个窗口


谢谢

需要将视频输出到第二个屏幕的应用程序可能会使用多个窗口。 你对那个特定的话题有疑问

您也可以使用多个窗口来实现其他目标,但苹果不推荐这样做。一般来说,如果你发现你需要两个或更多的窗口,我建议你的方法有问题


我在一个测试项目中使用了两个窗口来集成cocos2d和uikit,代码非常干净,想法是在窗口之间切换,必要时使用可见性和键窗口。它起作用了,但有时在将应用程序发送到后台时,出于某种神奇的原因,活动的按键窗口会变得不可见。

需要将视频输出到第二个屏幕的应用程序可能会使用多个窗口。 你对那个特定的话题有疑问

您也可以使用多个窗口来实现其他目标,但苹果不推荐这样做。一般来说,如果你发现你需要两个或更多的窗口,我建议你的方法有问题


我在一个测试项目中使用了两个窗口来集成cocos2d和uikit,代码非常干净,想法是在窗口之间切换,必要时使用可见性和键窗口。这是可行的,但有时在将应用程序发送到后台时,出于某种神奇的原因,活动的按键窗口会变得不可见。

好的,唯一需要多个窗口的情况是,如果将另一个屏幕(如电视)连接到设备上。在这种情况下,您可以为第二个屏幕提供一个完全独立的UI。F.e.当你将另一个屏幕连接到iPad上时,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];
    }
}

好吧,唯一需要多个窗口的情况是将另一个屏幕(如电视)连接到设备上。在这种情况下,您可以为第二个屏幕提供一个完全独立的UI。F.e.当你将另一个屏幕连接到iPad上时,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];
    }
}