我目前正在尝试绘制弧段。
我设法绘制了线段,但是现在我想通过strokeEnd属性控制线段的长度,但是它不起作用。
这是我的代码:
let arc:CGMutablePathRef = CGPathCreateMutable()
CGPathAddArc(arc, nil, arcCenter.x, arcCenter.y, arcDiameter/2, arcStartAngle, arcStopAngle, false)
let arcLineWidth = 5.0
let strokedArc:CGpathRef = CGPathCreateCopyByStrokingPath(arc, nil, arcLineWidth, kcGLineCapButt, kCGJoinMiter, 10)
arcLayer.path = strokedArc
arcLayer.fillColor = arcColor
arcView.layer.addsublayer (arcLayer)
...
self.addSubview(arcView)
然后,我尝试修改该段的长度:
arcLayer.strokeEnd = 0.5
但是它什么也没做。
你能告诉我我做错了吗?
谢谢,
名爵
最佳答案
您将通过抚摸原始路径来创建新路径,然后将新路径分配给形状层并填充它。
从问题中提供的代码中,您仅配置形状图层以填充形状,而不是对其进行描边。因此,笔画不受strokeEnd
属性的影响。
若要使strokeEnd在原始弧路径上工作。将原始弧路径分配给形状层,并在形状层上配置笔触颜色,线宽等。如果您不想填充圆弧,则还必须将填充颜色设置为纯色(我似乎记得,如果在Swift中将其设置为nil
,它会起作用)。
关于ios - iOS-CAShapeLayer.strokeEnd似乎不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24639364/