Video 视频播放过程中旋转后iPad状态栏卡滞
我在这件事上花了很长时间,而苹果开发者论坛却毫无帮助 我有一个播放视频的应用程序,当显示moviecontrols并旋转iPad时,状态栏将保持视频在方向开始之前的方向。然后,当状态栏处于另一个方向时,视图顶部有一个20px的间隙 有人见过这个问题吗Video 视频播放过程中旋转后iPad状态栏卡滞,video,ipad,statusbar,Video,Ipad,Statusbar,我在这件事上花了很长时间,而苹果开发者论坛却毫无帮助 我有一个播放视频的应用程序,当显示moviecontrols并旋转iPad时,状态栏将保持视频在方向开始之前的方向。然后,当状态栏处于另一个方向时,视图顶部有一个20px的间隙 有人见过这个问题吗 如果有任何帮助,我们将不胜感激。我也遇到了同样的问题,而且在将电影播放器恢复到窗口模式后,我的视图仍然混乱不堪。我不知道如何在全屏播放时修复此问题,但至少在切换回windowed后,您可以像这样修复状态栏: 注册MPMoviePlayerWill
如果有任何帮助,我们将不胜感激。我也遇到了同样的问题,而且在将电影播放器恢复到窗口模式后,我的视图仍然混乱不堪。我不知道如何在全屏播放时修复此问题,但至少在切换回windowed后,您可以像这样修复状态栏:
- 注册MPMoviePlayerWillExitFullscreenNotification的观察员
- 在通知回调函数中,启动一个NSTimer,稍后调用另一个函数(如0.1s)
- 在定时器功能中 [[UIApplication sharedApplication]SetStatusBaroOrientation:[[UIDevice currentDevice]方向]动画:否]
- 在纵向中启动应用程序(例如)
- 启动视频播放器(我们的视频播放器是使用
显示的)presentModalViewController
- 旋转iPad
- 按“完成”退出视频
- 确保在调用
[super viewwillbeen]后完成在
视图中完成的自定义配置代码>
- 为
和MPMoviePlayerDiexitFullScreenNotification
实现观察器(在我的案例中,单击“完成”时从未调用第一个观察器)MPMoviePlayerPlayerPlaybackDidFinishNotification
- 我也有同样的问题:
[self performSelector: @selector(checkAndFixStatusBar)
withObject: nil
afterDelay: 0];
[[NSNotificationCenter defaultCenter] removeObserver: self];
最后一个方法,在故意0延迟后调用:
- (void)checkAndFixStatusBar
{
UIInterfaceOrientation intOrient = self.interfaceOrientation;
UIInterfaceOrientation sbOrient = [[UIApplication sharedApplication] statusBarOrientation];
if (intOrient != sbOrient)
{
[[UIApplication sharedApplication] setStatusBarOrientation: intOrient animated: NO];
NSLog(@"Fixed status bar orientation");
}
}
状态栏仍在闪烁,但这是我想到的最好的方法
希望这有帮助
编辑:我已经删除了
performSelector
步骤,并直接调用了状态栏设置,在我的情况下,它没有明显的区别(仍在闪烁)。听起来这属于超级用户。