我正在尝试制作一个绘制分形树的应用程序。我设法制作了从所有行生成所有起点和终点的代码。我也设法画了线,但现在它们真的是四四方方的,希望它们有圆角。我使用 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()
}
}
我怎样才能使角落变圆?
另外,如果有人知道可以促进此操作的免费图书馆,我也感兴趣。
编辑:我对如何生成树不感兴趣,我已经完成了这部分代码,我需要帮助绘制线条。
你不需要库,你只需要花一点时间学习如何用 绘制曲线UIBezierPath
,曲线是该类最擅长的东西之一。绘制曲线的关键是了解控制点的工作原理。这是我前段时间写的关于如何平滑连接曲线的答案,我认为这会有所帮助。玩玩-addCurveToPoint:controlPoint1:controlPoint2:
。
如果您实际上并不想要曲线,而只是想要圆角而不是尖角,那么您需要做的就是lineJoinStyle
将kCGLineJoinRound
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句