为什么渐变颜色没有像普通的UIView一样出现在UINavigationBar中

时间:2018-12-02 15:18:36

标签: uinavigationbar gradient

为什么渐变色不会像普通UIView一样出现在UINavigationBar中? 为什么在许多解决方案中使用背景图片?

class CusNav: UINavigationBar {

let gradientLayer = CAGradientLayer()

override func awakeFromNib() {
    super.awakeFromNib()
    gradientLayer.frame = bounds
    setGradientColor()
    setGradienDirection()
    layer.insertSublayer(gradientLayer, at: 0)

}

internal func setGradienDirection() {
    gradientLayer.startPoint = CGPoint.init(x: 0.0, y: 0.5)
    gradientLayer.endPoint = CGPoint.init(x: 1.0, y: 0.5)
}

internal func setGradientColor() {
    gradientLayer.colors =  [Colors.actionBarFontColor,Colors.appDefault]
}
override func layoutSubviews() {
    super.layoutSubviews()
    gradientLayer.frame = bounds

}

override var bounds: CGRect {
    didSet {
        gradientLayer.frame = bounds
    }
}

}

0 个答案:

没有答案
相关问题