我有一个UIViewController,其视图是带有嵌入电影的UIWebView。当电影全屏播放并且设备旋转时,标题栏会在电影取消后在状态栏后面结束。为什么会发生这种情况?
答案 0 :(得分:1)
事实证明,视频启动时视图控制器视图的动画未完成。这导致它在视频播放器视图中重新显示。
答案 1 :(得分:1)
我的解决方案:
(void)viewDidLoad
{
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 20, 320, 460);
self.navigationController.navigationBar.hidden=NO;
}
答案 2 :(得分:0)
你是否在UIWebView上进行了autoresizingMask
webView.autoresizingMask=(UIViewAutoresizingFlexibleHeight |
UIViewAutoresizingFlexibleWidth);
和
-(BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) orientation
{
return YES;
}
答案 3 :(得分:0)
使用MPMoviePlayerNotification无法解决此问题,因为UIWebView视频不要使用MPMoviePlayerViewController或它是私有的开发人员。 但是,还有另一种方法可以解决这个问题。
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(handleStatusBarFrameDidChange)
name:UIApplicationDidChangeStatusBarFrameNotification
object:nil];
- (void)handleStatusBarFrameDidChange {
self.navigationController.navigationBarHidden = YES;
self.navigationController.navigationBarHidden = NO;
}