当我运行我的应用程序时,您可以看到导航栏的动画效果非常快,好像我只看到了结尾。动画似乎也从顶部滑落。我没有为它编写任何代码来执行此操作!这就是为什么它很奇怪!
这是更奇怪的事情。在 info.plist 中,如果我将“基于 View Controller 的状态栏外观”设置为“否”,则不会发生这种情况。只有当我将其设置为"is"时才会发生!
我希望将“基于 View Controller 的状态栏外观”设置为"is",因为我希望能够使用以下方法在特定 View Controller 上将其关闭:
override func prefersStatusBarHidden() -> Bool {
return true
}
请帮忙!
最佳答案
请注意 plist 文件中的 View controller-based status bar appearance
,这意味着您将确定应用程序内部状态栏的逻辑。
你认为 UIStatusBar
和 UINavigationBar
是一样的吗?
绝对不是。
所以你的功能:
override func prefersStatusBarHidden() -> Bool {
return true
}
隐藏状态栏(20 像素的状态栏,包括电池、时钟和手机)。
如果你想改变它的动画你应该使用:
override func preferredStatusBarUpdateAnimation() -> UIStatusBarAnimation {
return .None
}
如果你想在某个 View Controller 中隐藏 UINavigationBar
,你应该在 View Controller 内部调用:
navigationController?.setNavigationBarHidden(true, animated: false)
关于ios - 导航栏动画。为什么。诡异的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34150071/