【发布时间】:2021-12-29 14:55:35
【问题描述】:
我已经创建了一个图形绘制点并在这些点之间创建了一个 UIBezierPath,但现在我想为绘制的线添加一个渐变(类似于图片)。问题是我需要一个用于 CAGradientLayer 的框架,我不知道如何在 UIView 上绘制线来创建它。我有一个存储的 CGPoint 数组,其中包含所有绘制的点,有没有办法用该数组为渐变创建框架?有人知道在这里做什么吗?
包含所有绘制的点
var graphedInvestedPoints = [CGPoint]()
func addGradient(){
let colorTop = UIColor(hexString: blueHexString)
let colorBottom = UIColor.white
let gradientLayer = CAGradientLayer()
gradientLayer.colors = [colorTop, colorBottom]
gradientLayer.locations = [0.0, 1.0]
//gradientLayer.frame = ?
self.layer.insertSublayer(gradientLayer, at: 0)
}
【问题讨论】:
-
您是否覆盖
draw()来绘制您的线条?还是您使用CAShapeLayer?您是否尝试过搜索swift fill bezier path with gradient?很多结果...您应该能够找到与您的方法相匹配的结果。
标签: ios swift uibezierpath cgpoint cagradientlayer