UINavigationController与ViewController颜色相同

时间:2018-05-14 02:13:47

标签: ios uinavigationcontroller uinavigationbar

在Swift 4.0中,我试图为UINavigationBar应用相同的颜色作为我的viewController颜色,简而言之我想要透明的Navigationbar,我尝试了所有选项,但仍然无法看到相同的颜色到Navigationbar&的viewController。 (见附图)

self.navigationBar.backgroundColor = backGroundColor
self.navigationBar.barTintColor = backGroundColor
self.view.backgroundColor = backGroundColor

enter image description here

我知道我是否使用

self.navigationBar.setBackgroundImage(UIImage(), for: .default)
isTranslucent = false 

它会产生透明背景,但滚动到顶部时,导航栏中可能会看到tableview列表,我不想要它。

还有其他选择吗?当tableview滚动到顶部时,导航栏应该是透明的,并且在navigatiobar中不应显示tablview列表。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

UINavigationBar应用某些效果后,您必须以与所需颜色相同的方式设置颜色,您可以通过使用计算出的新值更改UINavigationBar背景颜色来实现此目的从你原来的颜色。

您可以使用以下链接获取该值: http://htmlpreview.github.io/?https://github.com/tparry/Miscellaneous/blob/master/UINavigationBar_UIColor_calculator.html

通过执行此操作,您可以将Translucent属性设置为true并获得所需的相同结果。