我有一个应用程序的想法,但我不确定是否可能.
我想知道我是否能够在iPad(或iPhone)屏幕上显示一个东西,同时在Apple电视上显示完全不同的东西.例如,一个测验应用程序,其中问题显示在Apple电视上,并且iPad上列出了多个选项供用户选择.
我不确定这是否可行,或者你是否只能将iPad屏幕镜像到Apple电视上.
如果有一些"概念证明"示例代码,我很乐意看看.非常感谢.克里斯
rma*_*ddy 15
事实证明,支持两个屏幕非常简单:iOS设备的主屏幕和辅助屏幕(外接显示器或Apple TV上的镜像).
根据博客文章为iOS和Apple TV创建双屏AirPlay体验的信息,您无需做太多工作.
基本上你需要检查screens房产UIScreen.还有一些您应该收听的通知(UIScreenDidConnectNotification和UIScreenDidDisconnectNotification),以便您了解在应用运行时屏幕数量是否会发生变化.
有了第二个屏幕后,您需要为它创建一个新窗口.可以使用以下代码:
if ([UIScreen screens].count > 1) {
if (!_secondWin) {
UIScreen *screen = [UIScreen screens][1];
_secondWin = [[UIWindow alloc] initWithFrame:screen.bounds];
_secondWin.screen = screen;
}
}
Run Code Online (Sandbox Code Playgroud)
哪里_secondWin是UIWindow伊娃.
设置窗口后,创建一个视图控制器,使其成为窗口的根视图控制器,并显示窗口:
SomeViewController *vc = [[SomeViewController alloc] init...];
_secondWin.rootViewController = vc;
_secondWin.hidden = NO;
Run Code Online (Sandbox Code Playgroud)
除了正确处理通知之外,这几乎就是其中之一.请记住,您无法在第二个显示屏上获得任何触摸事件,因此请确保您显示的内容基本上只显示.
根据您的应用程序,您可能会在应用程序的整个生命周期中使用第二个屏幕/窗口(只要第二个屏幕可用,任何方式).或者您可能只在某些情况下创建和使用第二个窗口/屏幕.如果您没有设置第二个窗口/屏幕,您的应用程序将只是镜像到第二个显示器或Apple TV.
最后一部分是打开镜像到Apple TV.这是在iOS设备上完成的,而不是在应用程序中完成的.
我链接的博客文章还有一些值得回顾的细节.