9

我不是唯一一个遇到这种问题的人。这是另一个,播放 Youtube 视频后状态栏高度发生变化。但我仍然找不到解决这个问题的方法。我没有使用 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);

但它不是那么有效。

请看下面这张图片..

在此处输入图像描述

起初,这就是我的“家”的样子。

在此处输入图像描述

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

在此处输入图像描述

当我回去的时候,看到他们聚集在一起。

在此处输入图像描述

发现FB想出了如何处理这个问题。他们的状态栏出现在那里。

有什么帮助???

提前干杯!

4

2 回答 2

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];
}
于 2014-04-17T21:51:27.443 回答
1

我不知道是否适用于您的情况,但在我的情况下,状态栏会在我加载 UIImagePickerController 并更改我的默认屏幕方向后出现。

我解决了这种情况添加application.statusBarHidden = YES; 在 appDelegate 里面是这样的:

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

}

我希望这可以帮助你。

于 2013-10-15T22:56:55.277 回答