我有一个带有UINavigationBar的UIView。
我正在构建此代码以在View以及NavigationBar上设置背景色。
这是代码:
override func viewDidLoad(){
super.viewDidLoad()
self.navigationController?.navigationBar.barTintColor = getColor(red: 41, green: 151, blue: 255)
self.view.backgroundColor = getColor(red: 41, green: 151, blue: 255)
}
func getColor(red: Int, green: Int, blue: Int) ->
UIColor{
return UIColor(red: CGFloat(Float(red) / 255.0),
green CGFloat(Float(red) / 255.0),
blue: CGFloat(Float(red) / 255.0),
alpha: CGFloat(1.0))
}
您可以看到颜色是相同的,但是输出视图如下:
如您所见,导航栏具有不同的颜色,我不知道为什么。
答案 0 :(得分:1)
尝试
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true
self.navigationController?.view.backgroundColor = UIColor.clear
代替
self.navigationController?.navigationBar.barTintColor = getColor(red: 41, green: 151, blue: 255)
答案 1 :(得分:0)
我认为您需要将导航栏的isTranslucent
属性设置为false
。
答案 2 :(得分:0)
这可能是因为您的导航栏是半透明的,请尝试将isTranslucent
设置为false。
答案 3 :(得分:0)