播放视频后,iOS 7状态栏消失

时间:2013-10-10 09:09:17

标签: ios objective-c ios7

我不是唯一一个遇到这种问题的人。这是另一个,Status bar height changes after playing a Youtube video。但我仍然无法找到解决这个问题的方法。我没有使用MPMoviePlayerController。我想我只需要使用这些代码;

[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];

self.webView.frame = CGRectMake(0.0,
                                20.0,
                                self.webView.frame.size.width,
                                self.webView.frame.size.height);

但它不是那么有用。

请看下面这张图片..

enter image description here

首先,这就是我的“家”的样子。

enter image description here

从Youtube / Vimeo(或其他)播放视频时状态栏消失。

enter image description here

当我回去时,看到他们蜷缩起来。

enter image description here

发现FB弄清楚如何处理这个问题。他们的状态栏就在那里。

任何帮助???

提前干杯!

2 个答案:

答案 0 :(得分:1)

我不知道是否申请你的情况,但在我的情况下,状态栏出现在我加载UIImagePickerController并更改我的默认屏幕方向。

我修复了这种情况,在appDelegate中添加 application.statusBarHidden = YES; ,如下所示:

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
// Detect if I need to hide the StatusBar (optional)
if (iNeedToHide == YES) {  
    application.statusBarHidden = YES;
}
return UIInterfaceOrientationMaskLandscape;

}

我希望这会对你有所帮助。

答案 1 :(得分:1)

我在解雇视频播放器时必须禁用动画。发布视频完成事件通知:

[[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(videoDidFinish:)
                                                 name:MPMoviePlayerPlaybackDidFinishNotification
                                               object:controller.moviePlayer];

然后,在方法内部,不使用动画关闭视图控制器:

- (void)videoDidFinish:(NSNotification *)notification {
    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification
                                                  object:controller.moviePlayer];
    [self dismissViewControllerAnimated:NO completion:nil];
}