4

众所周知,在 iOS 5 中,我们不需要添加单独的 TVOut 功能代码行。他们已将该功能集成为内置功能。

我的问题是:如果在我的应用程序中有一些我的自定义视图可用,我不想将其展示为 TVOut 演示文稿。它应该只在设备上显示,而不是在投影板上。

我已经检查了我们用于 iOS 版本 <5.0 的 TVOut 代码,但是他们正在捕获窗口图像并传递它。一些自定义小视图如何禁止通过尖叫。

任何建议/解决方案都非常受欢迎。

观看此视频:http ://www.youtube.com/watch?gl=US&v=GysMfb4_79A

如何实现这样的事情?

编辑:我使用了 Apple 提供的 ExternalDisplay 代码。但我面临一个问题。

  • 该代码适用于单视图控制器,我们将所有视图添加到新窗口。
  • 如果我的应用程序包含这么多视图控制器,并且在某些视图控制器中我为用户提供了 textViews,该怎么办。
  • 如何避免在外部窗口上显示这些文本视图作为 TVOut,应该显示没有该 textView 的视图。

请给我建议。

4

1 回答 1

3

从iOS 开发人员库中的ExternalDisplay示例代码:

要在外部显示器上显示内容,请执行以下操作:

  1. 使用 UIScreen 类的屏幕类方法来确定外部显示器是否可用。

  2. 如果外部屏幕可用,则获取屏幕对象并查看其 availableModes 属性中的值。此属性包含屏幕支持的配置。

  3. 选择与所需分辨率对应的 UIScreenMode 对象,并将其分配给屏幕对象的 currentMode 属性。

  4. 创建一个新的窗口对象 (UIWindow) 来显示您的内容。

  5. 将屏幕对象分配给新窗口的屏幕属性。

  6. 配置窗口(通过添加视图或设置 OpenGL ES 渲染上下文)。

  7. 显示窗口。

查看示例代码,您将有两个UIWindow对象,每个对象都显示希望在该给定显示器上显示的视图。所以你可以有一个UIViewController带有标志的标志isExternalScreen,当它为真时,它不会显示某些视图。

于 2012-07-25T19:02:44.507 回答