CAShapeLayer 通过路径端点部分绘制

CAShapeLayer draw partially through path end points

当我使用 CAShapeLayer 并创建一个矩形时,路径将从矩形的原点(左上角)开始并顺时针绘制。现在,如果我只想绘制形状的一部分,那么我将使用 strokeStartstrokeEnd 属性。当我想绘制包含路径终点的部分时,问题就来了。在这种情况下,路径是闭合的,它开始和结束于矩形的左上角。当我设置 strokeStart=0.8strokeEnd=0.2 时,我希望它绘制路径的最后一部分,并从路径的开头开始绘制。但是,这是行不通的。有什么想法或技巧可以做到这一点吗?

更新:

添加一张图片来阐明我上面的意思。我想要一个动画,它绘制少量矩形并在矩形上绘制部分圆圈:

简短的回答是,我认为您无法做到这一点,至少不能使用将在您的示例中绘制任何线段的单一路径。我很确定 strokeStart 必须小于 strokeEnd。

如果您想绘制最后一段,您需要创建一个从左下角开始并环绕的自定义矩形路径。