2013-01-15 23 views
0

我有一種方法可以在特定的路線中轉換我的視圖的一些子視圖。所以這個方法有一個CGFloat參數,它在0.0f和1.0f之間變化。使用自定義路線的iOS動畫

我想知道哪些是最好的方式來動畫這個轉換(說它將開始在變換:0.0f和結束於變換:1.0f)。很顯然,UIView的animateWithDuration將不起作用,因爲我希望我的子視圖能夠按照我的意願移動。

我應該編寫自己的基於自定義間隔的動畫功能來做到這一點嗎? (我不想說實話)。還是有一個簡單的方法?

+0

沿着路徑動畫嗎?你能更詳細地描述動畫嗎? – Rob

+0

@Rob我不確定我是否能夠準確地描述轉換。我會盡力解釋。有這種方法轉換:(CGFloat)分數,它可以在3d中轉換4個視圖。所以,起點是分數= 0.0f,終點在1.0f。 但是,在0.0f和1.0f之間,轉換路徑會多次更改,這就是我無法使用UIView animateWithDuration的原因。 – spongebob

+0

所以我想我可以使用NSTimer並用加速度曲線調用該方法,我想知道是否有另一種方法。 – spongebob

回答

0

使用本[UIView animateWithDuration:

[UIView animateWithDuration:<> delay:<> options:<> animations:^{ 
         <animation code 1> 
} completion:^(BOOL finished){ 
         <code for after animatop> 
        }]; 

這樣

[UIView animateWithDuration:<> delay:<> options:<> animations:^{ 
         <animation code 1> 
} completion:^(BOOL finished){ 
[UIView animateWithDuration:<> delay:<> options:<> animations:^{ 
         <animation code 1> 
} completion:^(BOOL finished){ 
         <code for after animatop> 
        }]; 
        }]; 
+0

嗯,是的,我把功能分解成更小的功能,然後逐個調用它們。但我完全沒有想到,因爲我希望能夠爲整個事物設置一條加速曲線。 我想要的更像是帶有自定義加速曲線的NSTimer,它將調用我的方法。我想知道我應該自己寫這個,還是有一種現有的方式? – spongebob