2012-09-18 71 views
0

我有2個動畫。第一個是應用程序加載時的第一個,第二個將保持用戶體驗的其餘部分。IOS應用程序切換動畫「A」與動畫「B」在同一個地方

這是我想在其中加載應用程序加載時,簡單地說

1)動畫「A」的事情。 2)然後我想隱藏動畫a「A」並用相同座標上的動畫「B」代替它3)動畫「B」在任何其他時間或間隔30秒或45秒播放動畫

動畫一個

[UIView animateWithDuration:2.5 
         delay:2.0 
        options:UIViewAnimationCurveEaseIn 
       animations:^{[buhoButton setFrame:CGRectMake(91, 185, 130, 130)];}completion:nil]; 

動畫乙

animation.animationImages = [NSArray arrayWithObjects:[UIImage imageNamed:@"Buho128x128_0.png"], 
            [UIImage imageNamed:@"Buho128x128_1.png"], 
            [UIImage imageNamed:@"Buho128x128_2.png"], 
            [UIImage imageNamed:@"Buho128x128_3.png"], 
            [UIImage imageNamed:@"Buho128x128_4.png"], 
            [UIImage imageNamed:@"Buho128x128_3.png"], 
            [UIImage imageNamed:@"Buho128x128_2.png"], 
            [UIImage imageNamed:@"Buho128x128_1.png"], 
            [UIImage imageNamed:@"Buho128x128_0.png"], nil]; 
[animation setAnimationRepeatCount:-1]; 
animation.animationDuration = 1; 
[animation startAnimating]; 

這可能嗎?

回答

1

嘗試把代碼動畫B插入動畫A的completition塊:

[UIView animateWithDuration:2.5 
        delay:2.0 
       options:UIViewAnimationCurveEaseIn 
      animations:^{[buhoButton setFrame:CGRectMake(91, 185, 130, 130)];} 
      completion:^(BOOL finished){/*Animation B code here*/;} 
]; 
+0

當A完成時,它開始動畫B.現在,我面臨着如何隱藏動畫A一旦完成,只是動畫B留在後面。 – Jiraheta

+0

當動畫A完成時,您想要隱藏按鈕嗎?如果是這樣,請設置buhoButton.hidden = YES;在完成塊。 – ale84

+0

夥計!那就像魅力一樣工作!非常感謝。 – Jiraheta

1

如果您想在動畫B觸發你可以使用一個CABAsicAnimation與removedOnCompletion在控制= YES動畫A(放置在你的viewDidLoad)和removedOnCompletion = NO爲動畫B(放置你的tiggering事件處理的地方)。

+0

你有一個例子或一些剪輯,看看我會如何走這條路? – Jiraheta

+0

以下是Apple的MoveMe示例代碼示例: CABasicAnimation * transformAnimation = [CABasicAnimation animationWithKeyPath:@「transform」]; transformAnimation.removedOnCompletion = YES; transformAnimation.duration = animationDuration; –