我正在尝试制作一个绘制分形树的应用程序。我设法制作了从所有行生成所有起点和终点的代码。我也设法画出了线条,但现在它们真的很四四方方,希望它们具有圆角。 我使用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()
}
}
我该如何使拐角变圆?
如果有人知道一个免费的库,可以使我对此也很感兴趣。
编辑:我对如何生成树不感兴趣,我已经完成了这部分代码,需要我画线。
答案 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
。