ios - 当 MPMoviePlayerController 退出全屏时 UINavigationBar 错位(ios 8 问题)

标签 ios objective-c ios8 uinavigationbar mpmovieplayercontroller

在我的应用程序中,我使用 MPMoviePlayerController 流式传输视频。下面显示了播放器进入全屏之前和播放器退出全屏之后 View 导航栏的图像。

before fullscreen

before

after fullscreen

after

导航栏向上移动了 20 像素。尝试了很多方法,例如设置框架隐藏和取消隐藏框架等,但没有用。

我该如何纠正这个问题? 1. 我可以使用 uibarpositioningdelegate 来纠正这个问题吗?如果可以,怎么办?

请帮忙,谢谢。

最佳答案

试试这个...

进入全屏时隐藏导航栏并在取消隐藏时再次显示...

-(void)viewDidLoad {

     [super viewDidLoad];     

     [[NSNotificationCenter defaultCenter] addObserver:self
     selector:@selector(mPExitFullScreen) 
    name:MPMoviePlayerWillExitFullscreenNotification 
    object:nil];

     [[NSNotificationCenter defaultCenter] addObserver:self    selector:@selector(mPEnterFullScreen) name:MPMoviePlayerDidEnterFullscreenNotification object:nil];

}

- (void) mPExitFullScreen{
    [self.navigationController setNavigationBarHidden:NO animated:NO];
}

- (void)mPEnterFullScreen {
    [self.navigationController setNavigationBarHidden:YES animated:YES];
}

关于ios - 当 MPMoviePlayerController 退出全屏时 UINavigationBar 错位(ios 8 问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32539061/

相关文章:

html - 如何在 iOS 中从 NSAttributedString 获取 html 字符串

ios - 在 block 代码中返回 UIImage

swift - UITextField 键盘返回按钮标题

swift - SWRevealViewController 和 Swift 的正确使用方法是什么?

ios - 在每 x 次加载 viewdidload 时显示插页式广告

ios - 使用 char 和可变数量的参数调用函数

ios - 如何将 JSON 提取到 Swift 到 tableView 作为部分和行?

ios - 检查Core Data关系中是否存在相同的对象

ios - iOS 的 JWT 认证

ios - 核心数据 ios 8 崩溃