我需要增加导航栏的高度。为此,我在导航栏下添加了一个视图(具有所需的高度)。导航栏设置为半透明。因此,导航栏的颜色与实际的十六进制值略有不同。现在,我需要将导航栏的颜色与下面的视图匹配。以下是我正在使用的代码。
func setupNavigationBar() {
title = "Profile"
self.navigationController?.navigationBar.setBackgroundImage(UIImage(named: ""), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage(named: "")
headerView.backgroundColor = navigationController?.navigationBar.barTintColor
headerView.isOpaque = false
}
我得到如下所示的不同阴影。
如何使视图的颜色与导航栏的颜色相同?我可以通过减小视图的Alpha值来接近所需的颜色,但是我对该方法表示怀疑,因为没有为此定义标准。
P.S。导航栏必须保持半透明。
答案 0 :(得分:0)
使用:设置背景色以清除导航栏:
self.navigationController?.navigationBar.backgroundColor = UIColor.clear
希望这会有所帮助。
答案 1 :(得分:0)
您只需要将opacity
中的headerView
设置为0.85
headerView.backgroundColor = navigationController?.navigationBar.barTintColor
headerView.layer.opacity = 0.85
headerView.isOpaque = false
You can download the sample code from here:
请忽略示例代码中其他未使用的代码。
将navigationController
的样式设置为translucent
时,系统会自动将0.85
的图层不透明度UINavigationController
设为
我亲自通过iterating
的所有UINavigationController
子视图进行检查。