【问题标题】:Making a view Controller stay active (in Background)使视图控制器保持活动状态(在后台)
【发布时间】:2011-11-04 10:05:45
【问题描述】:

我有一个视图控制器来管理我的电视播放(HDMI Apple AV 适配器)。一切正常。我在 iPad 上使用弹出框调用我的视图控制器。

当我打开弹出框时,外部屏幕被识别并且我可以使用它。但是当我关闭弹出视图(这意味着我将电视播放视图控制器发送到后台)时,电视屏幕(逻辑上)变黑了。

是否有可能通过退出告诉我的视图控制器将图片保留在电视屏幕上?

像“伪代码”

[TVOutViewController stayActiveInBackground]; //pseudocode

提前致谢!

【问题讨论】:

    标签: ios xcode4 uiviewcontroller


    【解决方案1】:

    我怀疑您已经对视图控制器进行了编码,因此它会在外部 UIScreen/UIWindow 对变为非活动状态时显式关闭它。我建议您将外部屏幕代码从弹出窗口的视图控制器中移出并移到一个对象中,该对象的生命周期与内部屏幕上发生的事情无关,例如您的应用程序委托或它引用的对象。然后只需从弹出视图控制器发送该对象消息以响应用户事件。

    Apple API 没有任何东西会导致这种行为 - 这纯粹是您设计应用程序的结果。因此,我不建议尝试强制视图控制器停留。相反,尝试为应用程序找到更好的结构。视图控制器应该只负责其视图,而不是应用程序状态。

    【讨论】:

      【解决方案2】:

      好的,伙计们,我偶然找到了一个解决方案(或者至少是一个解决方法)。请务必使用 UISplitViewController 来管理问题,其中 TVOutViewController 作为 masterViewController,ContentViewController 作为 detailViewController。苹果已经完成了这项工作。不管怎么说,还是要谢谢你! :)

      【讨论】:

        猜你喜欢
        • 2018-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-25
        • 1970-01-01
        • 1970-01-01
        • 2016-10-21
        • 2012-03-09
        相关资源
        最近更新 更多