0

我的应用程序使用嵌入式 youtube 播放器UIWebView,一切正常。除了离开全屏后应用程序的方向 - 它立即设置为纵向。自动旋转功能正常,因为用户可以通过将设备旋转到纵向和背面来轻松修复它。

它发生在模拟器(6.0、6.1、7.0)和设备(6.1.3)上。

根据我的需要,可以简单地删除进入全屏的功能(按钮和捏合手势),但如果我没记错的话,这是不可能的。对 html 代码的实验没有任何结果。我知道在全屏后,根视图控制器上有viewWillAppear,viewDidAppear调用,但这些调用没有被覆盖。从 iOS 6 开始,通过编程设置“修复”方向也是不可能的,对吧?

这是嵌入式播放器的 html:

<html>
    <head>
        <style type=\"text/css\">
            iframe {position:absolute; top:0px; margin-top:0px;}
            body {background-color:#000; margin:0;}
        </style>
    </head>
    <body>
        <iframe class=\"youtube-player\" type=\"text/html\" width=\"100%%\" height=\"100%%\" src=\"http://www.youtube.com/embed/%@?vq=hd720;HD=1;rel=0;showinfo=0" frameborder=\"0\" allowfullscreen=\"false\" showinfo=\"0\">
        </iframe>
    </body>
</html>

谢谢。

4

1 回答 1

0

傻我。删除下面的代码修复它:

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationPortrait;
}

UIViewController文档中:

If your view controller implements this method, then when presented, its view is shown in the preferred orientation (although it can later be rotated to another supported rotation). If you do not implement this method, the system presents the view controller using the current orientation of the status bar.

(强调我的)

于 2013-10-27T18:39:20.940 回答