如何使 UINavigationController 导航栏不可见或至少更改颜色
Posted
技术标签:
【中文标题】如何使 UINavigationController 导航栏不可见或至少更改颜色【英文标题】:How can I make a UINavigationController's UINavigationBar invisible or at least change color 【发布时间】:2014-07-01 21:49:04 【问题描述】:我有一个 UINavigationController,它链接到一个设置为 RootController 的 ViewController。我启用了 UINavigationBar 并在其中放置了 3 个 UIView,每个 UIView 都带有一个 UIButton。理想情况下,我想让 UINavigationBar 完全不可见,但我也愿意将颜色设置为 ViewController 的背景颜色。我正在快速工作,我尝试过类似
self.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
self.navigationBar.shadowImage = UIImage()
self.navigationBar.translucent = true
但是没有任何改变。有没有正确的方法来做到这一点?
【问题讨论】:
【参考方案1】:在 swift 中,你可以这样做:
self.navigationController?.setNavigationBarHidden(true, animated: true)
详情请咨询Documentation。
【讨论】:
【参考方案2】:我也在使用 Swift 并且调用 setNavigationBarHidden
没有任何效果。我在 Obj-C 中创建了一个辅助方法,它在给定的导航控制器上调用 setNavigationBarHidden:animated:
,效果很好。所以显然这只是一个错误,非常令人沮丧。
【讨论】:
以上是关于如何使 UINavigationController 导航栏不可见或至少更改颜色的主要内容,如果未能解决你的问题,请参考以下文章
将 managedObjectContext 发送到 viewController 崩溃
ID:[...] 的 NSManagedObject 已失效
在 UINavigationController 中设置时图像不显示
UINavigationController - 何时释放推送的视图控制器等