对于iOS应用我有一个Youtube视频,使用以下HTML / objc加载
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会覆盖(或类似的东西),允许用户旋转全屏,但如果他们关闭/选择&#34;完成&#34;在视频上,它在风景中关闭,应用程序突然在景观中被严重切断。如何在允许横向播放视频的同时防止这种情况发生?
答案 0 :(得分:0)
在项目设置(App Target&gt; General&gt; Deployment Info&gt; Device Orientation)中,选择Portrait,Landscape Left和Landscape Right。
在根视图控制器中,添加:
- (BOOL)shouldAutorotate
{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
如果所有内容都加载到此视图控制器中,那么您应该完成所有操作。如果您发现某些视图在不应该旋转时,请将相同的代码添加到其视图控制器中。
全屏视频的控制器将使用目标设置中指定的支持方向,因此将允许旋转到横向。关闭视频时,视图将旋转回纵向。