我在当前的项目中遇到了一个问题,因此我开发了一个简单的应用程序来看看是否可以隔离问题。在我的应用程序委托中,我隐藏了状态栏。
[application setStatusBarHidden:YES animated:NO];
在我的单视图控制器中,我有以下代码:
- (void)loadVideo
{
// HTML to embed YouTube video
NSString *youTubeVideoHTML = @"<html><head>\
<body style=\"margin:0\">\
<embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \
width=\"%0.0f\" height=\"%0.0f\"></embed>\
</body></html>";
// Populate HTML with the URL and requested frame size
NSString *html = [NSString stringWithFormat:youTubeVideoHTML, @"http://www.youtube.com/watch?v=VDRoBnL1gRg", 500, 500];
// Load the html into the webview
[self.webview loadHTMLString:html baseURL:nil];
}
该应用程序还设置为自动旋转。
现在,问题来了:当我播放 youtube 视频,进入全屏模式,将设备旋转 90 度,然后点击“完成”退出全屏时,整个界面仍然向下移动 20px,就像容纳状态栏一样。我注意到,当全屏观看视频时,ios 会添加一个状态栏,所以我猜测这是问题的一部分。我也发现本机视频播放器也出现此问题。
有任何想法吗?
我最近在我的应用程序《游戏指南:黑色行动 2》中使用了这个 YouTube 嵌入方法,当我点击电影播放器的“完成”按钮时,我遇到了这个问题并显示了 rootViewController。检查 rootViewController 上的“想要全屏”修复了 20 像素的偏移,并修复了按下“完成”按钮后显示的 rootViewController,我将其添加到 rootViewController 中,该 rootViewController 添加了一个 UIViewController (带有 tableView)作为使用的子项[presentViewControllerAnimated:(BOOL)completion:nil] 显示带有 YouTube 视频嵌入的 ViewController。
现在一切都运行良好...如果您想了解它的行为方式,请查看我的应用程序中的“视频”选项卡。
-(void)viewDidAppear:(BOOL)animated {
NSLog(@"Main View viewDidAppear...");
[super viewDidAppear:animated];
[self dismissViewControllerAnimated:YES completion:nil];
}
ios /questions/tagged/ios youtube /questions/tagged/youtube iphone /questions/tagged/iphone rotation /questions/tagged/rotation 状态栏 /questions/tagged/statusbar mpmovie播放器视图控制器 /questions/tagged/mpmovieplayerviewcontroller
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)