绘制圆线iOS Swift

时间:2019-02-18 19:35:57

标签: ios swift xcode uiview

我正在尝试制作一个绘制分形树的应用程序。我设法制作了从所有行生成所有起点和终点的代码。我也设法画出了线条,但现在它们真的很四四方方,希望它们具有圆角。 我使用UIView并使用UIBezierPaths在视图绘制函数中绘制线条。为了检索点,我在sigleton类中有一个Branch对象数组。分支对象除其他外还具有一个开始元和一个结束元组,它们都是元组((x:Double,y:Double))。

    override func draw(_ rect: CGRect) {
    super.draw(rect)
    UIColor.blue.setStroke()
    for branch in Tree.shared.branches{
        let path = UIBezierPath()
        print(branch.startingPoint)
        print(branch.endingPoint)
        path.move(to: CGPoint(x: branch.startingPoint.x, y: branch.startingPoint.y))
        path.addLine(to: CGPoint(x: branch.endingPoint.x, y: branch.endingPoint.y))
        path.lineWidth = 3
        path.stroke()
    }

}

我该如何使拐角变圆?

如果有人知道一个免费的库,可以使我对此也很感兴趣。

编辑:我对如何生成树不感兴趣,我已经完成了这部分代码,需要我画线。

2 个答案:

答案 0 :(得分:0)

关于某些视图的圆角,只需设置以下参数:

func adjustView(_ view: UIView){
     view.layer.borderWidth = 2.0
     view.layer.borderColor = UIColor.red
     view.layer.cornerRadius = 10
     view.clipsToBounds      = true
     view.backgroundColor = UIColor.white
    }

如果希望获得更多信息,请查看有关图层属性的当前文档: https://developer.apple.com/documentation/uikit/uiview/1622436-layer

答案 1 :(得分:0)

您不需要库,只需要花一点时间来学习如何使用UIBezierPath绘制曲线,曲线是该类最擅长的事情之一。绘制曲线的关键是了解控制点的工作方式。 Here's an answer我前段时间写过关于如何平滑连接曲线的方法,我认为这会有所帮助。玩-addCurveToPoint:controlPoint1:controlPoint2:

如果您实际上并不想要曲线,而是只想使圆角变圆而不是尖锐,那么您要做的就是将lineJoinStyle设置为kCGLineJoinRound