UIView上swift 3中的bezierPath,只需要曲线

use*_*478 7 uikit ios swift

当我在 UIView 上快速绘制 bezierPath 时。我得到了直线。我只需要曲线是否可以删除直线。

我可以删除灰色填充: line.fillColor = UIColor.clear.cgColor

不知道如何去除直线

在此处输入图片说明

代码:

    let line = CAShapeLayer()
    let linePath = UIBezierPath()
    linePath.move(to: start)
    linePath.addLine(to: end)
    var dis = (end.x - start.x)/3.0
    linePath.addCurve(to: start,
                  controlPoint1: CGPoint(x: start.x + dis, y: start.y + dis),
                  controlPoint2: CGPoint(x: end.x - dis, y: end.y - dis))

    line.path = linePath.cgPath
    line.strokeColor = UIColor.red.cgColor
    //line.fillColor = UIColor.clear.cgColor
    line.lineWidth = 4.0
    line.opacity = 0.6
    self.view.layer.addSublayer(line)
Run Code Online (Sandbox Code Playgroud)

Dun*_*n C 4

不要关闭路径。当您关闭贝塞尔曲线路径时,它会在路径的起点和终点之间添加一条直线。如果您不关闭路径,那么它不应该这样做。(但是你不能填充非闭合路径,只能描边它。)

如果这对您没有帮助,您需要编辑您的问题以显示创建和绘制路径的代码。