更新02有一个可行的解决方案...
我正在尝试使用UIBezierPath的笔触作为另一个UIView上的蒙版。有很多示例,但是它们都使用填充来剪辑视图。
我试图仅使用路径的笔触,但显示不正确。
以下是我目前在Swift 3.x中拥有的功能:
let bezierPath = UIBezierPath()
bezierPath.move(to: CGPoint(x: 0, y: 0))
bezierPath.addLine(to: CGPoint(x: 100, y: 100))
bezierPath.addLine(to: CGPoint(x: 200, y: 50))
bezierPath.addLine(to: CGPoint(x: 300, y: 100))
bezierPath.lineWidth = 5.0
bezierPath.stroke()
let gradient = Gradient(frame: self.bounds)
let mask = CAShapeLayer()
mask.path = bezierPath.cgPath
gradient.layer.mask = mask
self.addSubview(gradient)
Run Code Online (Sandbox Code Playgroud)
但是,上面的代码可以做到这一点。我正在寻找仅将笔划用作蒙版...这是代码当前正在执行的操作
(此comp快照中还有更多点)
我意识到,可能会有更好的方法,欢迎任何想法或替代方案!
-更新01--
我的最新作品,但掩盖了一切:
let bezierPath = UIBezierPath()
bezierPath.move(to: CGPoint(x: 0, y: 0))
bezierPath.addLine(to: CGPoint(x: 100, y: 100))
bezierPath.addLine(to: CGPoint(x: 200, y: 50))
bezierPath.addLine(to: CGPoint(x: 300, y: 100))
bezierPath.lineWidth …Run Code Online (Sandbox Code Playgroud)