我想帮助一些策略对某些动画进行排序。

我将UIImageView子类化,以便我可以在图像上编写一些自定义动画动作。我实现了一些方法,可以用作我可以调用图像的动作 例如:

-(void)rotateAnim; //rotates the image by a few degrees using a CGAffine Transform

-(void)numbersFlashAnim; //uses the UIImageVew.animationImages array for a 14 frame animation.

-(void)moveLeftAnim; //uses another CGAffine Transform to change the imageView's position.

在我的viewDidLoad方法中,我创建了一个UIImageView子类的实例。有哪些方法可以按顺序调用这些动画?

我在考虑使用NSTimer处理动画,但不确定是否可以编写NSTimer对象来处理多个方法调用。

示例:

[imageView rotateAnim]; //when this animation is done, I want to call:
[imageView numbersFlashAnim];

我见过几个关于使用NSTimer的问题,但没有一个与此问题有关。注意:我看到苹果网站上的开发文档也建议使用performSelector:withObject:afterDelay:在某些情况下,但是想知道这是否会提供足够的灵活性。

另外,我已经看过Cocos2d框架了,虽然我可以使用他们的方法〜(序列动作:等等),但我选择用UIKit / Foundation等来解决这个问题。

有帮助吗?

解决方案

你使用动画吗?我的意思是你可以在里面旋转你的图像 [UIView beginAnimations:(NSString *)animationID context:(void *)context] block。在那里,您可以添加一个委托方法,该方法将在当前动画结束后调用。在那里你可以调用你的numbersFlashAnim。 (抱歉我的英文;-))

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top