IOS 6 – 播放video后不显示状态栏

我在我的应用程序中有一个MPMoviePlayerViewController ,并使用它来全屏播放video。

这适用于iPad上的IOS 5操作系统。

但在iPad 3上的iOS 6上,播放video之后,状态栏消失,并被白色空间所替代。

使用[[UIApplication sharedApplication]setStatusBarHidden:NO];是不是马虎[[UIApplication sharedApplication]setStatusBarHidden:NO]; 到处都有video还原状态栏?

由于我的应用程序非常庞大,任何人都可以提供替代方法吗?

我添加了一个观察者到MPMoviePlayerDidExitFullscreenNotification。 在这个观察者中,我创build了一个NSTimer,在两秒钟后开始。 在NSTimer触发的消息中,我重置状态栏样式以及状态栏。 定时器是必需的,因为我注意到状态栏进入一个不一致的状态很多后退出全屏完成animation。

所以在pipe理MPMoviePlayer的ViewController中,我执行以下操作:

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerDidExitFullScreenCallback:) name:MPMoviePlayerDidExitFullscreenNotification object:self.moviePlayerController]; 

然后在通知select器中:

 - (void) moviePlayerDidExitFullScreenCallback:(NSNotification *)aNotification { [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(setStatusBarVisible:) userInfo:nil repeats:NO]; } 

并在setStatusBarVisibleselect器中:

 - (void) setStatusBarVisible: (NSTimer *)timer { [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque]; [[UIApplication sharedApplication] setStatusBarHidden:NO]; } 

我遇到了同样的问题,在使用FullScreen = YES MPMovieControlStyleEmbeded时, MPMovieControlStyleEmbeded似乎有问题,可能无法播放video或调用播放器两次,这会造成一些帧定位问题。

我最终必须改变整个应用程序使用presentMoviePlayerViewControllerAnimated从视图控制器,这似乎是一个更适当的方式来播放video在这个新的iOS 6

MPMoviePlayerController全屏模式问题