我在UITabBarController中的UINavigationController中有一个UIWebView。有时,UIWebView显示的页面包含HTML5视频对象。
视频按预期开始播放,但不支持横向模式。
我认为这可能是因为并非UITabBarcontroller中的所有视图控制器都自动切换到横向模式(我听说过“UITabBarController中的所有视图控制器应该支持自动旋转到横向模式以使UITabBarController自动旋转”)。
任何了解任何解决方法的人?可能是在应用程序之外打开视频本身的一些解决方案?
谢谢!
更新2011-03-15
我会稍微改写自己,但我觉得创建一个新问题并不够。 我有以下等级:
UITabBarController
UINavigationController (NC-A)
UITableView
UIWebView (pushed from UITableView)
UINavigationController (NC-B)
A number of UITableViews
UINavigationController (NC-C)
A number of UITableViews
我想要UIWebView(在NC-A中),它有时包含HTML5视频对象(如上所述),以支持横向模式(并在用户翻转手机时自动调整/ -resize)
但是我不想在NC-B和NC-A控制的视图中实现自动旋转
为了支持UITabBarController中的自动旋转,我已经读到“每个选项卡中当前'顶部'的所有视图都必须实现shoudAutorotateToInterfaceOrientation(并且对于相关方向返回YES)”。
有什么方法可以解决这个问题吗?
答案 0 :(得分:2)
这是相当hacky,但您可以在javascript中捕获html5视频的“play”事件,然后触发您的webView委托将拦截的虚假URL。
从那里,构建一个MPMoviePlayerController,将它附加到你的根视图控制器(或以其他方式将其置于模态上)并按照你想要的方式设置自动旋转。
好处是用户可以保证本机电影播放器。缺点是它非常hacky。
答案 1 :(得分:1)
我使用的解决方案是以模态方式呈现UIWebView。然后整个视图支持横向,因此也支持UIWebView。