ios - navigationBar.isHidden 和 setNavigationBarHidden 的区别

标签 ios swift uinavigationcontroller

我有一个 View Controller ,我从一个隐藏了导航栏的 View Controller 中推送它。但我想在目标 View Controller 中显示导航栏。

我试过这个声明它没有显示导航栏。

self.navigationController?.navigationBar.isHidden = false

我试过这个语句是有效的

self.navigationController?.setNavigationBarHidden(false, animated: true)

我想知道有什么区别?

最佳答案

.isHiddensetNavigationBarHidden() 有不同的效果和结果。我们不会谈论动画部分。

self.navigationController?.navigationBar.isHidden 的属性是 UIView 的扩展。 isHidden 属性属于 UIView,这意味着 navigationBar(扩展 UIView)在 中做了一些覆盖>isHidden 导致它与 setNavigationBarHidden() 相比具有不同的效果和结果。

setNavigationBarHidden(true) 示例:

enter image description here

navigationBar 不透明的地方和页面 1(隐藏了 navigationBar 的页面)。

.isHidden = true 的示例:

enter image description here

其中,navigationBar 是完全透明的,页面 1 显示在页面 2 的 navigationBar 下方。 3 号是 UIWindow。

关于ios - navigationBar.isHidden 和 setNavigationBarHidden 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47470145/

相关文章:

swift - RxSwift 扩展 Observable 泛型问题

ios - swift 2.0 中 navigationController 中 nib 的 AddSubview(为什么这么难?)

ios - iPad:纵向和横向模式之间的时间差

ios - Apple Store - 拒绝使用 UIWebView 的新应用;这会影响我现有的应用程序和 future 的版本吗?

ios - 如何在后台应用程序时在键盘前面显示keyWindow?

ios - 3D Touch Quick Action 无法快速工作 3

ios - shouldAutoRotate 不能快速工作

ios - 旋转图像仅适用于第一 react

ios - AVCapture session 捕获图像 SWIFT

swift - 如何在swiftUI中使用分页选项卡 View 时阻止页面上下滚动