【问题标题】:iPad status bar sticking after rotation during video playiPad 状态栏在视频播放期间旋转后卡住
【发布时间】:2010-05-20 19:31:18
【问题描述】:

我很难让它工作,Apple 开发者论坛也没有任何帮助。

我有一个播放视频的应用程序,当显示电影控件并旋转 iPad 时,状态栏会保持在方向开始之前视频所处的方向。然后在视图顶部有一个 20px 的间隙,而状态栏在另一个方向。

有人见过这个问题吗?

任何帮助将不胜感激。

【问题讨论】:

  • 听起来这属于超级用户。

标签: video ipad statusbar


【解决方案1】:

我遇到了同样的问题,而且在将电影播放器​​返回到窗口模式后,我的视图仍然搞砸了。我不知道如何在全屏播放期间解决此问题,但至少在切换回窗口后,您可以像这样修复状态栏:

  • 为 MPMoviePlayerWillExitFullscreenNotification 注册一个观察者
  • 在通知回调函数中,启动一个 NSTimer 稍后(如 0.1 秒)调用另一个函数
  • 在定时器函数中做

    [[UIApplication sharedApplication] setStatusBarOrientation:[[UIDevice currentDevice]orientation] animated:NO];

【讨论】:

    【解决方案2】:

    我遇到了同样的问题:

    • 纵向启动应用程序(例如)
    • 启动视频播放器(我们使用presentModalViewController显示)。
    • 旋转 iPad
    • 按“完成”退出视频。

    砰!我们的应用程序的布局被破坏了(我们为每个方向做了一些自定义布局),并且状态栏在错误的位置,尽管在视频中位于正确的位置。

    我做了两件事来解决这两个问题:

    • 确保我们在viewWillAppear 中完成的自定义配置在调用[super viewWillAppear]; 之后完成。
    • MPMoviePlayerDidExitFullscreenNotificationMPMoviePlayerPlaybackDidFinishNotification 实现观察者(在我的例子中,第一个在单击“完成”时从未被调用)。

    观察者回调的代码如下所示:

    [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 步骤,并直接调用了状态栏设置,在我的情况下,它没有明显的区别(仍然闪烁)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      相关资源
      最近更新 更多