我有一个 View Controller ,我从一个隐藏了导航栏的 View Controller 中推送它。但我想在目标 View Controller 中显示导航栏。
我试过这个声明它没有显示导航栏。
self.navigationController?.navigationBar.isHidden = false
我试过这个语句是有效的
self.navigationController?.setNavigationBarHidden(false, animated: true)
我想知道有什么区别?
最佳答案
.isHidden
和 setNavigationBarHidden()
有不同的效果和结果。我们不会谈论动画部分。
self.navigationController?.navigationBar.isHidden
的属性是 UIView
的扩展。 isHidden
属性属于 UIView
,这意味着 navigationBar
(扩展 UIView
)在 中做了一些覆盖>isHidden
导致它与 setNavigationBarHidden()
相比具有不同的效果和结果。
setNavigationBarHidden(true)
示例:
navigationBar 不透明的地方和页面 1(隐藏了 navigationBar 的页面)。
.isHidden = true 的示例:
其中,navigationBar 是完全透明的,页面 1 显示在页面 2 的 navigationBar 下方。 3 号是 UIWindow。
关于ios - navigationBar.isHidden 和 setNavigationBarHidden 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47470145/