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

标签 ios iphone swift uinavigationbar

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

这是更奇怪的事情。在 info.plist 中,如果我将“基于 View Controller 的状态栏外观”设置为“否”,则不会发生这种情况。只有当我将其设置为"is"时才会发生!

我希望将“基于 View Controller 的状态栏外观”设置为"is",因为我希望能够使用以下方法在特定 View Controller 上将其关闭:

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
}

如果你想在某个 View Controller 中隐藏 UINavigationBar,你应该在 View Controller 内部调用:

navigationController?.setNavigationBarHidden(true, animated: false)

关于ios - 导航栏动画。为什么。诡异的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34150071/

相关文章:

ios - 解析 JSON 数据

php - APNS:无效的 token 导致所有后续的推送通知失败

ios - 主线程阻塞导致应用程序在iOS 8中崩溃

ios - MPRemoteCommandCenter 事件处理程序从未触发

ios - 如何为 UITableView (Swift) 定义这个 numberOfRowsInSection

xcode - 使用异步调用创建 Parse 服务以返回响应

swift - 在 Cocoa 命令行应用程序的子进程中从标准输入获取输入

ios - UISearchController "manual"搜索 UI 故障

ios - PhoneGap Meteor iOS 推送通知

ios - 多个 NSThread 同步