具有不同背景颜色的 NavigationBar 和 View
NavigationBar and View with different background color
我有一个带有 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))
}
你可以看到颜色是一样的,但是输出视图是这样的:
如您所见,导航栏有不同的颜色,我不知道为什么。
我认为您需要将导航栏的 isTranslucent
属性 设置为 false
。
可能是你的导航条是半透明的,设置isTranslucent
为false试试
显然,这是因为导航栏 isTranslucent
,请以编程方式将其设置为 false
,或者如果您使用的是情节提要,则可以像所附照片那样从 Translucent 中删除勾选来完成。
试试这个
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)
我有一个带有 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))
}
你可以看到颜色是一样的,但是输出视图是这样的:
如您所见,导航栏有不同的颜色,我不知道为什么。
我认为您需要将导航栏的 isTranslucent
属性 设置为 false
。
可能是你的导航条是半透明的,设置isTranslucent
为false试试
显然,这是因为导航栏 isTranslucent
,请以编程方式将其设置为 false
,或者如果您使用的是情节提要,则可以像所附照片那样从 Translucent 中删除勾选来完成。
试试这个
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)