在iPad上显示一件事,在苹果电视上显示另一件事



我有一个应用程序的想法,但我不确定这是否可能。

我想知道我是否能在iPad(或iPhone)上显示一件事屏幕,以及苹果电视上完全不同的东西。例如,一个问答应用程序,问题显示在苹果电视上,多项选择列在iPad上供用户选择。

我不确定这是否可能,或者你是否只能将iPad屏幕镜像到苹果电视上。

如果有一些"概念证明"示例代码,我很乐意看一看。非常感谢。Chris

事实证明,支持两个屏幕非常简单:iOS设备的主屏幕和辅助屏幕(外部显示器或Apple TV上的镜像)。

根据博客文章《为iOS和Apple TV创建双屏AirPlay体验》中的信息,你不需要做太多。

基本上,您需要从UIScreen检查screens属性。还有一些通知你应该监听(UIScreenDidConnectNotificationUIScreenDidDisconnectNotification),这样你就可以知道应用程序运行时屏幕数量是否发生了变化。

一旦你有了第二个屏幕,你需要为它创建一个新的窗口

if ([UIScreen screens].count > 1) {
    if (!_secondWin) {
        UIScreen *screen = [UIScreen screens][1];
        _secondWin = [[UIWindow alloc] initWithFrame:screen.bounds];
        _secondWin.screen = screen;
    }
}

其中CCD_ 5是CCD_。

一旦窗口设置好,创建一个视图控制器,使其成为窗口的根视图控制器,并显示窗口:

SomeViewController *vc = [[SomeViewController alloc] init...];
_secondWin.rootViewController = vc;
_secondWin.hidden = NO;

除了对通知的正确处理之外,这几乎就是它。请记住,您无法在第二个显示器上获得任何触摸事件,因此请确保您显示的内容基本上仅显示。

根据您的应用程序的不同,您可能会在应用程序的整个生命周期中使用第二个屏幕/窗口(只要第二个画面可以通过任何方式使用)。或者,您可能只在特定情况下创建并使用第二个窗口/屏幕。当你没有设置第二个窗口/屏幕时,你的应用程序将简单地镜像到第二个显示器或Apple TV。

最后一项是打开镜像到Apple TV。这是在iOS设备上完成的,而不是在应用程序中。

我链接的博客文章还有一些细节值得回顾。

相关内容

最新更新