UIWebView嵌入式YouTubevideo播放中的状态栏问题

播放youtubevideo如下:

videoView = [[UIWebView alloc] initWithFrame:CGRectMake(10, 50, 300, 215)]; videoView.backgroundColor = [UIColor clearColor]; videoView.opaque = NO; videoView.delegate = self; [self.view addSubview:videoView]; NSURLRequest *loadRequest=[NSURLRequest requestWithURL:Your_Youtube_URL]; [videoView loadRequest:loadRequest]; 

问题: UIWebView嵌入式YouTubevideo播放中的状态栏问题

生成状态栏问题的步骤:

  • 当应用程序方向支持仅为Portrait时。

  • 用户点击在UIWebview嵌入式youtubevideo播放器上播放video

  • 设备打开其默认video播放器以播放video,即使您的应用程序仅具有方向支持肖像,它也可以提供横向video播放video

  • 现在,用户将设备方向更改为横向以全屏查看video

  • 现在用户按完成按钮停止video并返回应用程序

  • 在这种情况下,状态栏保持横向状态,应用程序屏幕以纵向模式显示。

解:

 - (void)viewDidLoad { … [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(VideoExitFullScreen:) name:@"UIMoviePlayerControllerDidExitFullscreenNotification" object:nil]; } - (void)viewDidUnload { … [[NSNotificationCenter defaultCenter] removeObserver:self name:@"UIMoviePlayerControllerDidExitFullscreenNotification" object:nil]; } - (void)VideoExitFullScreen:(id)sender{ [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait animated:NO]; }