【问题标题】:Buttons are missed in UITabBar swiftUITabBar swift中缺少按钮
【发布时间】:2018-07-14 12:56:17
【问题描述】:

我在标签栏添加了一个自定义渐变层,使其更加用户友好。但我的标签栏按钮在渐变层下。 有人知道这里有什么问题吗? 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)
    }
}

这是我在网上找到的全部代码

【问题讨论】:

    标签: ios iphone swift uitabbarcontroller gradient


    【解决方案1】:

    替换这个

    self.tabBar.layer.addSublayer(layerGradient)
    

    self.tabBar.layer.insertSublayer(layerGradient,at:0)
    

    //

    应该有2种颜色被选中和未选中

    self.tabBar.tintColor = .green
    self.tabBar.unselectedItemTintColor = .blue
    

    在必须将颜色的 alpha 设置为 1 的情况下,您应该使用 insertSublayer,在您的情况下,您可以使用 addSublayer 但要显示按钮,您需要将渐变的两种颜色的 alpha 设置为比如说 0.5 或者后面显示 UI 元素(也是层)的东西

    【讨论】:

    • 哇,效果很好!!还有一个问题,我应该如何更改未选中按钮的颜色?
    • 我应该如何改变导航控制器的颜色?我希望它和这个一样
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    • 2017-03-28
    相关资源
    最近更新 更多