【问题标题】:IOS 6 - Status Bar Not Showing after Playing videoIOS 6 - 播放视频后状态栏不显示
【发布时间】:2012-09-27 10:11:28
【问题描述】:

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

这在 iPad 上的 IOS 5 操作系统上运行良好。

但在 iPad 3 上的 iOS 6 上,播放视频后,状态栏消失并被一个空白区域取代。

[[UIApplication sharedApplication]setStatusBarHidden:NO];是不是很马虎 恢复我有视频的任何地方的状态栏?

由于我的应用很大,谁能提供替代方法?

【问题讨论】:

    标签: ios statusbar


    【解决方案1】:

    我向 MPMoviePlayerDidExitFullscreenNotification 添加了一个观察者。在这个观察者中,我创建了一个 NSTimer 以在两秒后触发。在 NSTimer 触发的消息中,我重置了状态栏样式以及状态栏。计时器是必需的,因为我注意到状态栏在退出全屏动画完成后很长时间进入不一致状态。

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

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

    然后在通知选择器内:

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

    在 setStatusBarVisible 选择器内:

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

    【讨论】:

      【解决方案2】:

      我也遇到过同样的问题,iOS 6 使用时好像有问题 MPMovieControlStyleEmbededFullScreen = YES 它可能无法播放视频或两次调用播放器,这会产生一些帧定位问题。

      我最终不得不将整个应用程序更改为使用视图控制器中的presentMoviePlayerViewControllerAnimated,这似乎是在这个新的 iOS 6 中播放视频的更合适的方式

      MPMoviePlayerController fullscreen mode issue

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      • 1970-01-01
      • 2015-10-04
      • 1970-01-01
      • 2012-10-27
      • 2016-03-16
      相关资源
      最近更新 更多