2015-10-17 34 views
2

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

更新:

添加图像澄清我的意思以上。我想这绘制矩形少量,并通过矩形绘制部分圆的动画: enter image description here

+0

有点难以遵循。如果你张贴你描述的内容,可能会有所帮助。 –

+0

@BeauYoung完成! – frangulyan

+0

啊,我明白了。由于您只需旋转圆圈并仍然从0.0开始描边,因此使用矩形可能会有点棘手,但是使用圆圈会更容易一些。这里的答案是否有用? http://stackoverflow.com/questions/13333214/cabasicanimation-setting-start-stroke-position –

回答

2

简短的回答是,我不认为你能做到这一点,至少不会有一个单一的路径会绘制示例中的任何片段。我很确定strokeStart必须小于strokeEnd。

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

+0

或者,您可以应用旋转变换到图层,然后调整您的开始/结束设置以进行补偿。 –