[英]draw rounded lines iOS Swift
我正在尝试制作绘制分形树的应用程序。 我设法制作了从所有行生成所有起点和终点的代码。 我也设法画出了线条,但现在它们真的很四四方方,希望它们具有圆角。 我使用UIView并使用UIBezierPaths在视图绘制函数中绘制线条。 为了检索点,我在sigleton类中有一个Branch对象数组。 分支对象除其他外还具有一个为tuples((x:Double,y:Double))的startingPoint和一个终点。
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()
}
}
我怎样才能使圆角变圆?
另外,如果有人知道一个免费的图书馆,对此我可能也很感兴趣。
编辑:我对如何生成树不感兴趣,我已经完成了这部分代码,需要画线。
关于某些视图的圆角,只需设置以下参数:
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
您不需要库,只需要花一点时间来学习如何使用UIBezierPath
绘制曲线,并且曲线是该类最UIBezierPath
的事情之一。 绘制曲线的关键是了解控制点的工作方式。 这是我前段时间写的关于如何平滑连接曲线的答案 ,我认为这将有所帮助。 玩-addCurveToPoint:controlPoint1:controlPoint2:
如果您实际上并不想要曲线,而实际上只是希望圆角是圆的而不是尖的,那么您要做的就是将lineJoinStyle
设置为kCGLineJoinRound
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.