我的应用程序中有一个 MPMoviePlayerViewController ,我用它来全屏播放视频。
这在 iPad 上的 IOS 5 操作系统上运行良好。
但在 iPad 3 上的 iOS 6 上,播放视频后,状态栏消失并被一个空白区域取代。
使用[[UIApplication sharedApplication]setStatusBarHidden:NO]; 是不是很草率
恢复我有视频的任何地方的状态栏?
由于我的应用很大,谁能提供替代方法?
Best Answer-推荐答案 strong>
我向 MPMoviePlayerDidExitFullscreenNotification 添加了一个观察者。在这个观察者中,我创建了一个 NSTimer 以在两秒后触发。在 NSTimer 触发的消息中,我重置了状态栏样式以及状态栏。计时器是必需的,因为我注意到状态栏在退出全屏动画完成后很长时间进入不一致状态。
所以在管理 MPMoviePlayer 的 ViewController 中,我执行以下操作:
[[NSNotificationCenter defaultCenter] addObserver:self selectorselector(moviePlayerDidExitFullScreenCallback name:MPMoviePlayerDidExitFullscreenNotification object:self.moviePlayerController];
然后在通知选择器内:
- (void) moviePlayerDidExitFullScreenCallbackNSNotification *)aNotification {
[NSTimer scheduledTimerWithTimeInterval:2.0 target:self selectorselector(setStatusBarVisible userInfo:nil repeats:NO];
}
在 setStatusBarVisible 选择器内:
- (void) setStatusBarVisible: (NSTimer *)timer {
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque];
[[UIApplication sharedApplication] setStatusBarHidden:NO];
}
关于IOS 6 - 播放视频后状态栏不显示,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/12618981/
|