如何禁用某些部分在iOS 5中显示为TVOut?

时间:2012-07-21 11:51:12

标签: ios ios5 video-capture screen-capture mirroring

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

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

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

欢迎任何建议/解决方案。

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

如何实现这样的目标?

修改: 我使用过Apple提供的ExternalDisplay代码。但我面临一个问题。

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

请建议我。

1 个答案:

答案 0 :(得分:3)

来自iOS Developer Library中的ExternalDisplay示例代码:

  

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

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

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

  4.   
  5. 选择与所需分辨率对应的UIScreenMode对象,并将其指定给屏幕的currentMode属性   对象

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

  8.   
  9. 将屏幕对象指定给新窗口的屏幕属性。

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

  12.   
  13. 显示窗口。

  14.   

查看示例代码,您将拥有两个UIWindow个对象,每个对象都会显示要在该给定显示上显示的视图。因此,您可以使用UIViewController标记isExternalScreen,如果为真,则不会显示特定视图。