在导航栏中使用 alpha 设置背景颜色
Setting a background color with alpha in Navigation bar
我希望导航栏的背景是 alpha 为 0.5 的颜色,以便能够部分看到下方视图的内容。我试过这样做:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBar.barTintColor = UIColor.blue
self.navigationController?.navigationBar.isTranslucent = true
}
如果我把isTranslucent
设置成true
,那么navigationBar
颜色就清楚了。如果我将 isTranslucent
设置为 false
,即使我设置 UIColor.blue.alpha(0.5)
颜色也是不透明的
我该怎么做?
如果您只想 NavigationBar
(不包括状态栏)背景带 alpha..试试这个
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.isTranslucent = true
self.navigationController?.navigationBar.backgroundColor = UIColor.blue.withAlphaComponent(0.5)
}
如果您想要包含 status bar
的 alpha 背景颜色,恐怕您必须使用具有 alpha 值的图像。 see this
您还可以制作所需颜色和透明度的图像,然后在 AppDelegate
中的 didFinishLaunchingWithOptions
函数中只需添加以下内容:
//navigation bar
let navBackgroundImage:UIImage! = UIImage(named: "nav.png")
UINavigationBar.appearance().setBackgroundImage(navBackgroundImage, for: .default)
其中 nav.png
是您的图片。
希望这对您有所帮助。 :)
我希望导航栏的背景是 alpha 为 0.5 的颜色,以便能够部分看到下方视图的内容。我试过这样做:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBar.barTintColor = UIColor.blue
self.navigationController?.navigationBar.isTranslucent = true
}
如果我把isTranslucent
设置成true
,那么navigationBar
颜色就清楚了。如果我将 isTranslucent
设置为 false
,即使我设置 UIColor.blue.alpha(0.5)
我该怎么做?
如果您只想 NavigationBar
(不包括状态栏)背景带 alpha..试试这个
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.isTranslucent = true
self.navigationController?.navigationBar.backgroundColor = UIColor.blue.withAlphaComponent(0.5)
}
如果您想要包含 status bar
的 alpha 背景颜色,恐怕您必须使用具有 alpha 值的图像。 see this
您还可以制作所需颜色和透明度的图像,然后在 AppDelegate
中的 didFinishLaunchingWithOptions
函数中只需添加以下内容:
//navigation bar
let navBackgroundImage:UIImage! = UIImage(named: "nav.png")
UINavigationBar.appearance().setBackgroundImage(navBackgroundImage, for: .default)
其中 nav.png
是您的图片。
希望这对您有所帮助。 :)