我正在尝试制作一个绘制分形树的应用程序。我设法制作了从所有行生成所有起点和终点的代码。我也设法画出线条,但现在它们真的很方正,希望它们有圆角。
我使用 UIView 并使用 UIBezierPaths 在 View 绘制函数中绘制线条。为了检索点,我在一个 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()
}
}
我怎样才能使角落变圆?
此外,如果有人知道可以促进这一点的免费图书馆,我也很感兴趣。
编辑:我对如何生成树不感兴趣,我已经完成了这部分代码,我需要帮助绘制线条。
最佳答案
你不需要图书馆,你只需要花一点时间学习如何用 UIBezierPath
绘制曲线,而曲线是该类(class)最擅长的事情之一。绘制曲线的关键是了解控制点的工作原理。 Here's an answer我前段时间写了关于如何平滑连接曲线的文章,我认为这会有所帮助。玩弄 -addCurveToPoint:controlPoint1:controlPoint2:
.
如果您实际上并不想要曲线,而只是想要圆角而不是尖角,那么您需要做的就是设置 lineJoinStyle
至 kCGLineJoinRound
.
关于ios - 绘制圆线iOS Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54754201/