【发布时间】:2018-05-11 06:00:04
【问题描述】:
我想在UINavigationBar 中添加渐变色。水平渐变的代码完美地工作,但对于垂直渐变,它没有显示正确的颜色。
提前谢谢!!!
我当前的垂直渐变代码:
extension UINavigationBar {
/// Applies a background gradient with the given colors
func applyNavigationGradient( colors : [UIColor]) {
let gradientLayer = CAGradientLayer()
gradientLayer.frame = self.bounds
gradientLayer.colors = colors.map { $0.cgColor }
// *** for horizontal gradient ***
// gradientLayer.startPoint = CGPoint(x: 0.0, y: 0.5)
// gradientLayer.endPoint = CGPoint(x: 1.0, y: 0.5)
// *** for vertical gradient ***
// gradientLayer.locations = [0,1]
gradientLayer.startPoint = CGPoint(x: 0.5, y: 0.0)
gradientLayer.endPoint = CGPoint(x: 0.5, y: 1.0)
UIGraphicsBeginImageContext(gradientLayer.bounds.size)
gradientLayer.render(in: UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
setBackgroundImage(image, for: UIBarMetrics.default)
}
}
【问题讨论】:
标签: ios uinavigationbar swift4 cagradientlayer