我在我的标签栏上添加了一个自定义渐变层,以使其更加用户友好。但我的标签栏按钮位于渐变层下方。 有人知道这是怎么回事吗? The UI image just to clarify what I mean
class TabBarUiViewController: UITabBarController {
let layerGradient = CAGradientLayer()
override func viewDidLoad() {
super.viewDidLoad()
layerGradient.colors = [UIColor.init(red: 247/255, green: 146/255, blue: 30/255, alpha: 1).cgColor, UIColor.init(red: 236/255, green: 104/255, blue: 66/255, alpha: 1).cgColor]
layerGradient.startPoint = CGPoint(x: 0, y: 0.5)
layerGradient.endPoint = CGPoint(x: 1, y: 0.5)
layerGradient.frame = CGRect(x: 0, y: 0, width: view.bounds.width, height: view.bounds.height)
self.tabBar.layer.addSublayer(layerGradient)
}
}
这是我在网上找到的全部代码
答案 0 :(得分:1)
替换此
self.tabBar.layer.addSublayer(layerGradient)
使用
self.tabBar.layer.insertSublayer(layerGradient,at:0)
//
选择的颜色和未选择的颜色应为
self.tabBar.tintColor = .green
self.tabBar.unselectedItemTintColor = .blue
在必须将颜色的Alpha设置为1的情况下,应使用insertSublayer
,在这种情况下,可以使用addSublayer
,但要显示按钮,则需要设置两种颜色的Alpha渐变为0.5或在其后面显示UI元素(也为图层)的内容