将iPad内容输出到外部显示器

时间:2010-09-01 17:31:41

标签: iphone ipad

我听说可以将iPad应用程序中的内容输出到外部显示器,但应用程序必须为此做好准备,并且存在严重的限制。有什么指针吗?

而且,这可以为iPhone完成吗?它是一样的吗?

2 个答案:

答案 0 :(得分:11)

实现此功能的关键包含在UISCreen类中:

http://developer.apple.com/iphone/library/documentation/uikit/reference/UIScreen_Class/Reference/UIScreen.html#//apple_ref/occ/clm/UIScreen/screens

基本上,您的应用程序将使用UIScreen访问外部显示屏幕,然后将其设置为新UIWindow的屏幕(您的应用程序将具有两个UIWindows)。然后,应用程序可以将ViewController添加到代表第二个屏幕的新UIWindow,然后关闭。

UIWindow *externalWindow.screen = [[[UIScreen screens] lastObject] retain];
[externalWindow addSubview:externalViewController.view];

这很简单,但需要做一些尝试才能让它正常工作。由于30针连接器需要连接到显示器,因此在设备上调试应用程序时很痛苦,因此也不能用于调试。也许有一个通过电缆允许调试+外部显示,但我没有机会看。

<强>限制: 您应该能够输出视频质量的比特率,因为苹果已经能够通过他们的一些应用程序实现这一点。也就是说,外部显示器将受限于设备支持的屏幕分辨率,因此108“LCD上的显示效果可能不会很明显:​​ - )

<强>平台: 这适用于所有iPad和运行4.0+的iPhone。您需要我认为iPhone和iPad独有的专用线缆(30-40美元)。

答案 1 :(得分:11)

如小指示,您需要创建一个新的UIWindow并将其附加到外部显示器的UIScreen上。此UIWindow将托管要在外部显示器上显示的内容,因此您需要为其构建一个独立的视图层次结构,与主应用程序界面分开。当附加和移除外部显示器时,您还需要收听通知您的应用程序的UIScreenDidConnectNotificationUIScreenDidDisconnectNotification通知。

我在class on iTunes U的iPad会话视频中演示了如何执行此操作,可以查看课程说明here

Matt Gemmell最近也写了一篇非常好的文章,你可以阅读here