UIScreen屏幕始终返回1个屏幕

Mr *_* 87 2 xcode mirroring airplay ipad-2

我正试图在没有镜像模式的情况下使用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];
Run Code Online (Sandbox Code Playgroud)

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

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

小智 5

嗯,确实有点误导.你应该按如下方式进行:

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

这是代码:

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];
Run Code Online (Sandbox Code Playgroud)