2015-10-17 43 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

或者,您可以應用旋轉變換到圖層,然後調整您的開始/結束設置以進行補償。 –