繁体   English   中英

iOS-CAShapeLayer.strokeEnd似乎不起作用

[英]iOS - CAShapeLayer.strokeEnd does not seem to work

我目前正在尝试绘制一段弧线。

我设法绘制了线段,但是现在我想通过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

但是它什么也没做。

你能告诉我我做错了吗?

谢谢,

MG

您将通过抚摸原始路径来创建新路径,然后将新路径分配给形状层并填充它。

从问题中提供的代码中,您仅配置形状图层以填充形状,而不是对其进行描边。 因此,没有笔触会受strokeEnd属性的影响。


若要使strokeEnd在原始弧路径上工作。 将原始弧路径分配给形状层,并在形状层上配置笔触颜色,线宽等。 如果您不想填充圆弧,还必须将填充颜色设置为纯色(我似乎记得,如果在Swift中将其设置为nil ,它就可以工作)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM