2009-10-27 65 views
0

我有一個線圖我在石英繪製,和一個UIView「氣泡」,我想理想地彈出當用戶觸摸所述單個情節主線,並沿着它移動手指。氣泡顯示一些額外的圖形信息。移動沿着CGPath一個UIView根據觸摸位置

我想UIView的「附加」到CGPath情節,但我有麻煩概念搞清楚做到這一點的最好辦法。我知道你可以沿着CGPath爲視圖創建動畫,但這對我來說似乎不起作用,因爲用戶需要用自己的手指沿着圖形進行「擦洗」,而不是使用任何自動動畫。

有沒有人有一個很好的做法有什麼建議?

回答

1

也許你並不需要製作動畫。觸摸事件飛得很快 - 也許如果你只是將視圖移動到相對於沒有動畫的觸摸的適當位置,移動將足夠平滑。如果這還不夠好,則必須從視圖的當前位置(參見CALayer presentationLayer)沿着圖形段向所需位置設置動畫。關鍵是每次您收到觸摸事件時都會進行動畫製作(以前的任何動畫都將被取消)。

1

像尼爾說,最好的辦法是隻與觸摸事件的移動,它會看起來光滑,如果你正在做的是移動視圖。使用[aTouch locationInView:視圖]要觸摸的位置,然後找到路徑上的最近點(也許使用的x值,並期待在y值的x路徑)。