MPMoviePlayerViewController将UIView移到状态栏后面

时间:2014-09-02 22:08:13

标签: ios xcode statusbar

使用MPMoviePlayerViewController在iOS 7上多次播放电影后,整个屏幕会在状态栏后面移动。我已经考虑了iOS 7在应用程序启动时通过在应用程序委托中添加以下代码来使用全屏幕所做的更改

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7)
{
    [application setStatusBarStyle:UIStatusBarStyleLightContent];
    [application setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];

    self.window.clipsToBounds =YES;
    self.window.frame =CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20);
}

完美地显示初始屏幕。但是,在该屏幕上是一个播放视频并按以下方法退出的按钮

- (void)playFullScreenMovie
{
    NSURL *url = [NSURL URLWithString:vidURL];
    self.playerVC = [[MPMoviePlayerViewController alloc] initWithContentURL:url];

    // Register this class as an observer
    [[NSNotificationCenter defaultCenter]
    addObserver:self
    selector:@selector(movieFinishedCallback:)
    name:MPMoviePlayerPlaybackDidFinishNotification
    object:self.playerVC.moviePlayer];

    [[self playerVC].moviePlayer prepareToPlay];
    [self presentViewController:self.playerVC animated:NO completion:nil];
}

// When the movie is done, release the controller.
-(void)movieFinishedCallback: (NSNotification*) aNotification
{
    MPMoviePlayerController* theMovie = [aNotification object];

    [[NSNotificationCenter defaultCenter]
    removeObserver: self
    name: MPMoviePlayerPlaybackDidFinishNotification
    object: theMovie];

   [self dismissMoviePlayerViewControllerAnimated];
}

当呈现屏幕返回时,它会向上移动,位于状态栏后面。

尚未奏效的解决方案包括:

  1. 在[self]之后在app delegate中添加相同的逻辑 dismissMovie ...]。但是self.view.window是零,因为 呈现视图尚未在屏幕上显示。甚至重新安装它 viewWillAppear,当self.view.window不为nil时,不起作用。
  2. 尝试更新[[[UIApplication sharedApplication]委托] [self dismissMovie ...]之后也没有完全发挥作用。该 窗口和状态栏正确显示,但视图没有。 尝试更改viewDidAppear中的帧是不成功的。
  3. 这篇来自苹果的文章没有帮助,因为添加了所有缺失后 约束,屏幕上的所有图像都是倾斜的 转移对原始问题的注意力。 https://developer.apple.com/library/ios/qa/qa1797/_index.html
  4. 在发布之前努力纠正屏幕移位 2014年1月的文章无法在iOS 7上运行。
  5. 使用push segue到另一个视图控制器,然后展开回到演示文稿 视图也不起作用。它仍然向上移动。
  6. 非常感谢您的意见,建议,建议和/或解释。

0 个答案:

没有答案