获取UITabBarItem图像的默认未选择TintColor

时间:2015-06-07 11:55:33

标签: ios swift uitabbar uitabbaritem

我们如何获取未选择的UITabBarItem图像的默认颜色?

搜索所有搜索结果只返回要更改的方法,而我想要的只是才能获得颜色。

有什么想法吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

据我记得(我在一年前看过类似的东西)没有系统API可以获得非活动控件的“暗淡”颜色。然而,我对调光进行了逆向工程,看起来相似。

public extension UIColor {
    public func dimmedColor() -> UIColor {
        var hue = CGFloat(0)
        var brightness = CGFloat(0)
        var saturation = CGFloat(0)
        var alpha = CGFloat(0)

        self.getHue(&hue, saturation: &saturation, brightness: &brightness, alpha: &alpha)

        brightness = max(0.0, brightness - 0.3)

        return UIColor(hue: hue, saturation: 0, brightness: brightness, alpha: alpha)
    }
}

从本质上讲,调光会使色彩去饱和并降低亮度。这可能会导致黑色,但可能不是您想要的颜色。

你可以按如下方式使用它,其中tintColor是从UIView或按钮或其他一些有色元素中获得的:

let dimmedColor = tintColor.dimmedColor()