【问题标题】:Hiding status bar while in UIViewControllerAnimatedTransitioning在 UIViewControllerAnimatedTransitioning 中隐藏状态栏
【发布时间】:2016-10-04 14:18:29
【问题描述】:

我已经为一个全屏显示的控制器实现了一个交互式解除动画。

问题是每当我试图关闭它时,状态栏就会出现

全屏控制器的- (BOOL)prefersStatusBarHidden 返回true,因此在显示时该栏不可见。

呈现视图控制器嵌入在导航控制器中。

我尝试过的方法:

  • - (BOOL)prefersStatusBarHidden 设置为 true 并在演示者的 viewWillAppear 中调用 setNeedsStatusBarAppearanceUpdate

  • 更改演示者navigationController.navigationBar.barStyle 属性

推特应用在关闭时隐藏了该栏,所以我想这一定是可能的

【问题讨论】:

    标签: ios objective-c swift ios9 ios-animations


    【解决方案1】:

    我已经实现了与 Twitter 应用程序中相同的状态栏行为。

    秘诀是在演示动画之前将[[UIApplication sharedApplication] keyWindow]UIWindowLevel 更改为UIWindowLevelStatusBar,并在解除后将其更改回UIWindowLevelNormal(或任何您的窗口级别)。

    【讨论】:

      【解决方案2】:

      viewWillAppear()里面试试这个

      UIApplication.sharedApplication().statusBarHidden = true

      【讨论】:

      • 如果我在.plist 中将View controller-based status bar appearance 设置为NO,则此方法有效,但自iOS9 以来不推荐使用此方法吗?
      • 然后UIApplication.sharedApplication().statusBarHidden = true 什么都不做:(
      猜你喜欢
      • 2011-04-29
      • 2015-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-30
      相关资源
      最近更新 更多