【问题标题】:Don't resize navigation bar when hiding status bar隐藏状态栏时不要调整导航栏的大小
【发布时间】:2015-05-24 11:13:42
【问题描述】:

我正在使用 Swift + AVPlayer 构建一个应用程序,并将“基于控制器的状态栏外观”设置为“是”。这样做的问题是,当我从 UITableViewController/UINavigationController 启动播放器时,导航栏会自动隐藏状态栏,并且会调整导航栏的大小。

你可以在这里看到我的意思:

http://quick.as/eOXLiv45x

有什么办法可以防止这种情况发生吗?

干杯!

【问题讨论】:

  • 我已将您的图片添加到您的问题中,不过 gif 有点错误,可能会将其上传到更好的网站以使其正确包含。
  • 干杯,似乎在这里工作:)

标签: ios swift


【解决方案1】:

好的,这就是我最终使用的解决方案。

  1. 将“基于视图控制器的状态栏外观”设置为“否”
  2. 在媒体视图控制器中重写以下函数
override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)
    UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: .Fade)
}

override func viewWillDisappear(animated: Bool) {
    super.viewWillDisappear(animated)
    UIApplication.sharedApplication().setStatusBarHidden(false, withAnimation: .Fade)
}

【讨论】:

  • 您的意思是在第一个函数中调用viewDidAppear 而不是viewDidDisappear
【解决方案2】:
- (BOOL)hidesBottomBarWhenPushed {
return YES;
}

你可以试试这个。但我有 90% 的把握这个问题必须与您正在执行的某些操作有关......保持可见。

【讨论】:

  • 我不是在推动,我是通过手动 segue 以模态方式呈现,并且视图样式设置为全屏。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-05
  • 2016-03-29
  • 1970-01-01
相关资源
最近更新 更多