【问题标题】:Output iPad content to external display将 iPad 内容输出到外部显示器
【发布时间】:2010-09-01 17:31:40
【问题描述】:

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

另外,这可以在 iPhone 上完成吗?是一样的吗?

【问题讨论】:

标签: iphone ipad


【解决方案1】:

正如所指出的,您需要创建一个新的 UIWindow 并将其附加到 UIScreen 以供外部显示。此 UIWindow 将承载要在外部显示器上呈现的内容,因此您需要为此构建一个独特的视图层次结构,与您的主应用程序界面分开。您还需要收听UIScreenDidConnectNotificationUIScreenDidDisconnectNotification 通知,这些通知会在连接和移除外部显示器时通知您的应用程序。

我在class on iTunes U 的 iPad 会话视频中演示了如何做到这一点,可以查看课程笔记here

Matt Gemmell 最近也对此做了一篇非常好的文章,您可以阅读here

【讨论】:

    【解决方案2】:

    实现此功能的关键包含在 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 美元)。

    【讨论】:

    • 新的 HDMI 线让您可以同时调试和输出,并且适用于 iPad 和 iPhone。
    • @AndrewLitte:UIWindow *externalWindow.screen = [[[UIScreen screens] lastObject] retain]; 的有效代码如何?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多