0

我有2个动画。应用程序加载时的第一个,第二个将保持用户体验的其余部分。

简而言之,这就是我想做的事情

1) 应用加载时加载的动画“A”。2)然后我想隐藏动画“A”并将其替换为相同坐标上的动画“B”3)让动画“B”在任何其他时间或以 30 秒或 45 秒的间隔播放

动画A

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

动画B

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];

这可能吗?

4

2 回答 2

1

尝试将动画 B 的代码放入动画 A 的完成块中:

[UIView animateWithDuration:2.5 
                  delay:2.0 
                options:UIViewAnimationCurveEaseIn
             animations:^{[buhoButton setFrame:CGRectMake(91, 185, 130, 130)];}
             completion:^(BOOL finished){/*Animation B code here*/;}
];
于 2012-09-18T15:56:16.390 回答
1

如果您想控制动画 B 何时触发,您可以使用 CABAsicAnimation ,其中 removedOnCompletion = YES 用于动画 A(放置在您的 viewDidLoad 中)和 removedOnCompletion = NO 用于动画 B(放置在处理您的触发事件的位置)。

于 2012-09-18T17:36:13.223 回答