导航栏动画。为什么。诡异的

Navigation bar animation. WHY. WEIRD

当我 运行 我的应用程序时,您可以看到导航栏动画很快,好像我只抓住了结尾。动画似乎也从顶部滑落。我没有为它编写任何代码来执行此操作!这就是为什么它很奇怪!

这是更奇怪的事情。在 info.plist 中,如果我将 "View controller-based status bar appearance" 设置为 "NO",则不会发生这种情况。只有当我将它设置为 "YES" 时才会发生!

我希望将 "View controller-based status bar appearance" 设置为 "YES" 因为我希望能够在特定的视图控制器上使用以下方法将其关闭:

override func prefersStatusBarHidden() -> Bool {
    return true
}

请帮忙!

注意plist文件中的View controller-based status bar appearance,这意味着你将在你的应用程序中确定状态栏的逻辑。

你认为 UIStatusBarUINavigationBar 是一样的吗? 绝对不是。

所以你函数:

override func prefersStatusBarHidden() -> Bool {
    return true
}

正在隐藏状态栏(20 像素的状态栏,包含电池、时钟和手机)。

如果你想改变它的动画,你应该使用:

override func preferredStatusBarUpdateAnimation() -> UIStatusBarAnimation {
    return .None
}

如果你想在某些视图控制器中隐藏UINavigationBar,你应该在视图控制器内部调用:

navigationController?.setNavigationBarHidden(true, animated: false)