ios - 如何将嵌入式 youtube 视频旋转为横向模式

标签 ios youtube embed landscape uiinterfaceorientation

我正在使用以下嵌入代码在 IOS 上嵌入我的 YouTube 视频

- (NSString*)embedYouTube:(NSString*)youtube_id frame:(CGRect)frame {  
   NSString* embedHTML = @"\
   <html><head>\
   <style type=\"text/css\">\
   body {\
   background-color: transparent;\
   color: white;\
   }\
   </style>\
   </head><body style=\"margin:0\">\
   <iframe src=\"http://www.youtube.com/embed/%@?rel=0\" frameborder=\"0\" allowfullscreen width=\"%0.0f\" height=\"%0.0f\"></iframe>\
   </body></html>"; 
   NSString *html = [NSString stringWithFormat:embedHTML, youtube_id, frame.size.width, frame.size.height];

   return html;
}

//code to embed video
NSString *contentHTML;
if (currentAnswer.youtube_id != nil) {
    contentHTML = [self embedYouTube:currentAnswer.youtube_id frame:CGRectMake(CELL_TEXT_LEFT_MARGIN + CELL_AVATAR_WIDTH + CELL_SPACING, currentYAxisValue, CELL_YOUTUBEVIEW_WIDTH, CELL_YOUTUBEVIEW_HEIGHT)];
}

[webView loadHTMLString: contentHTML baseURL:nil];

当我播放视频时,它只能以纵向模式播放,不能以横向模式播放。这是由于“iframe”造成的限制吗?有什么办法可以解决这个问题吗?

最佳答案

如果您的 UIViewController 也能够旋转到横向,它应该可以工作。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return YES;
}

在尝试旋转视频之前测试您的 UIViewController 是否能够旋转。如果您不希望 UIViewController 在视频不在屏幕上时能够旋转,您可以这样做:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    if(webView && webView.superView) return YES;
    return UIInterfaceOrientationIsPortrait(interfaceOrientation);
}

关于ios - 如何将嵌入式 youtube 视频旋转为横向模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11259176/

相关文章:

ios - 子类上无继承导出

php - 如何将youtube视频网址转换为嵌入代码以在我们的网站上显示视频?

python - 在 Google Colab 上播放视频

ios - Swift 包含数组的扩展

ios - 以编程方式连接到新的 View Controller

iphone - 企业 iOS 应用程序和企业配置的 iOS 设备是否具有任何特殊功能?

wordpress - YouTube嵌入宽度不能大于740像素吗?

youtube - 有没有办法让用户订阅列表中的YouTube视频早于1周

embed - VLC 播放器嵌入代码在 ie 中不起作用。

css - 如何在我的网页上测试网络嵌入字体?