我在想什麼最好的方法是實現一系列不同的動畫。如果我調用以下方法並嘗試對同一個對象進行右,左和上移動,例如,它將不起作用,因爲編譯器沒有以線性方式處理它們,並且最終得到了我的對象簡單地往上走(跳過步驟走左,右):iphone連續動畫
-(IBAction)clickStart
{
[self Animation1];
[self Animation2];
[self Animation3];
}
現在我所能,這一點,但它在某種程度上感覺繁瑣,怪我。考慮這是動畫1的方法:
[pageShadowView setFrame:CGRectMake(100, 0, CGRectGetWidth(pageShadowView.frame), CGRectGetHeight(pageShadowView.frame))];
[UIView beginAnimations:@"Animation1" context:nil]; // Begin animation
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(Animation2)];
[pageShadowView setFrame:CGRectMake(200, 0, CGRectGetWidth(pageShadowView.frame), CGRectGetHeight(pageShadowView.frame))];
[UIView commitAnimations]; // End animations
然後我可以做同樣的Animation2,即調用動畫3一旦完成。但說實話,這是非常混亂,不是一個非常明確的編碼方法。無論如何,要獲得像我在開始時所建議的那樣的「線性」代碼(這是行不通的),還是我只需要使用選擇器方法?
感謝您的任何建議!
非常感謝。儘管一見鍾情,但我認爲這實際上比選擇器方法做得更清楚。至少我有代碼以線性方式呈現。謝謝! – 2011-04-01 10:21:07
塊意味着您不必在通常會導致意大利麪代碼的課程級別存儲動畫狀態。 – mxcl 2011-04-01 11:56:54