UIScreen屏幕始终返回1个屏幕

时间:2012-07-09 08:59:25

标签: xcode mirroring ipad-2 airplay

我正试图在没有镜像模式的情况下使用Airplay在Apple TV上显示图片。但是,当镜像关闭时,[UIScreen screen]方法总是返回1个屏幕(主屏幕)。 我希望我的图片显示与Photo应用程序相同(没有镜像的Airplay)。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(screenDidConnect:) name:UIScreenDidConnectNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(screenDidDisconnect:) name:UIScreenDidDisconnectNotification object:nil];

我使用过它们,但只有在镜像开启时才能使用它们。

请帮帮我。非常感谢! 我正在使用Apple TV1和iPad 2(iOS 5.0.1)

1 个答案:

答案 0 :(得分:5)

嗯,确实有点误导。您应该按照以下步骤进行操作:

  • Airplay镜像选项应为ON
  • 然后,您创建一个新的UIWindow并将其附加到第二个屏幕
  • 只要您向此新UIWindow发送makeKeyAndVisible,它就会覆盖镜像并显示新内容。
  • 您可以像应用程序的主要部分一样添加视图或根视图控制器

以下是代码:

UIScreen *secondScreen = [[UIScreen screens] objectAtIndex:1];
self.secondWindow = [[UIWindow alloc] initWithFrame:secondScreen.bounds];
[self.secondWindow setScreen:secondScreen];
[self.secondWindow setBackgroundColor:[UIColor greenColor]];
[self.secondWindow makeKeyAndVisible];