【发布时间】:2014-08-20 15:46:49
【问题描述】:
对于一个 iOS 应用,我有一个使用以下 HTML/objc 加载的 Youtube 视频
NSString *embedHTML = @"\
<html><head>\
<style type=\"text/css\">\
body {\
background-color: transparent;\
color: white;\
}\
</style>\
</head><body style=\"margin:0\">\
<embed allowScriptAccess=\"always\" id=\"yt\" src=\"%@&enablejsapi=1&playerapiid=yt\" type=\"application/x-shockwave-flash\" \
width=\"262\" height=\"187\"></embed>\
</body></html>";
NSString *html = [NSString stringWithFormat:embedHTML, urlString];
[self.webView loadHTMLString:html baseURL:nil];
加载并播放良好。我遇到的问题是我的应用程序是严格的纵向视图,在应用程序中您无法旋转它。如果您正在观看 youtube 视频,则 webview 会进行覆盖(或类似的操作),允许用户旋转全屏,这很好,但是如果他们在视频上关闭/选择“完成”并在横向关闭时关闭应用程序突然处于横向状态并被严重切断。如何在仍然允许横向播放视频的同时防止这种情况发生?
【问题讨论】:
-
您是否覆盖了 viewControllers
shouldAutorotate以返回 NO? -
@katzenhut 这就是诀窍,我希望他们能够在视频期间自动旋转,但是一旦他们将网络视图从全屏缩小到正常大小,应用程序就需要返回纵向。
-
你可能需要继承 uiwebview。让它在它的构造函数中接受一个委托,然后在它完成时回调该委托。在此处阅读委托:developer.apple.com/library/ios/documentation/general/…