Swift - UINavigationController 栏颜色不会以编程方式更改
Posted
技术标签:
【中文标题】Swift - UINavigationController 栏颜色不会以编程方式更改【英文标题】:Swift - UINavigationController bar color does not change programmatically 【发布时间】:2014-10-30 09:47:41 【问题描述】:我在更改UINavigationBar
的背景颜色时遇到问题。
到目前为止,这是我尝试过的:
self.navigationController?.navigationBar.translucent = true
self.navigationController?.navigationBar.backgroundColor = UIColor.blueColor()
导航栏没有变化。即使将半透明设置为 true 也完全没有效果。 我可以毫无问题地更改色调颜色,但不能更改背景颜色。
但是,如果我更改情节提要中的颜色,它会正常工作!
情节提要中是否有我错误地启用/禁用的选项?有人可以帮我弄这个吗?谢谢。
【问题讨论】:
使用barTintColor
属性。
Swift 5 ios 13 简单回答***.com/questions/60856135/…
Swift 5 IOS 13 简单回答享受***.com/a/60898211/6881070
【参考方案1】:
您应该设置导航栏的barTintColor
而不是backgroundColor
。这应该是您正在寻找的。p>
【讨论】:
哇,这么简单。感谢那。现在可以了。我会尽快接受你的回答 设置translucent = true
仍然无法正常工作。对我有什么建议吗?谢谢
没问题。我不确定为什么半透明不起作用。导航栏后面肯定有东西可以显示吗?
是的,我使用的是 UITableView,当我向下滚动时,内容不在栏后面。
您是使用UITableViewController
还是UIViewController
并添加自己的表格?或许可以查看一些关于 SO 的其他问题,例如:***.com/questions/19299481/…【参考方案2】:
self.navigationController?.navigationBar.isTranslucent = true
self.navigationController?.navigationBar.backgroundColor = UIColor.blue
这样就解决了。
【讨论】:
以上是关于Swift - UINavigationController 栏颜色不会以编程方式更改的主要内容,如果未能解决你的问题,请参考以下文章
iOS 7 - UITabBarController selectedIndex 崩溃
将第二个 UIToolbar 添加到 UITableViewController
iOS 6 UINavigationController 中的奇怪错误
尝试在 iOS 中将 UITabBarController 与 UITableViewController 一起使用时出现异常
UINavigationController poptorootviewcontroller 并选择另一个选项卡进行转换,如推送视图控制器