如何向UIImageView的子类添加自定义动画属性?

时间:2011-05-06 12:31:26

标签: iphone animation uiimageview properties

我有从UIImageView子类化的类。然后将此类的实例作为子视图添加到我的应用程序的根类中。现在,我可以为它的属性设置动画,例如setFrame:

[UIView beginAnimations:nil context:nil];
...
[myImageView setFrame:someFrameCreatedInCode];
...
[UIView commitAnimations];

这将当前帧作为初始状态并插入imageview动画(它只是从左向右移动)。 这部分工作正常。

我接下来要做的是我想在我的类中添加一个属性,比如整数类型。我想要这个属性来指定图像编号(它的名称是格式化的)并在以后制作基于帧的动画。这似乎是一种创建动画的好方法,因为我可以指定影响动画时间的“曲线”:

[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

如何实现我自己的可以设置动画的属性?

提前致谢!

更新:如果有人需要这个,我在互联网上找到了这些教程:blog postsample

1 个答案:

答案 0 :(得分:0)

您可能希望将UIView动画与UIImageView动画图像一起使用。

如果你使用这样的代码:

colors = [[NSArray alloc] initWithObjects:[UIImage imageNamed:@"red_select1.png"],
                        [UIImage imageNamed:@"red_select2.png"],
                        [UIImage imageNamed:@"red_select3.png"],
                        [UIImage imageNamed:@"red_select4.png"],
                        [UIImage imageNamed:@"red_select5.png"],
                        [UIImage imageNamed:@"red_select6.png"],
                        [UIImage imageNamed:@"red_select7.png"],    
                        [UIImage imageNamed:@"red_select8.png"],nil];

animationView = [[UIImageView alloc] initWithFrame:rect];

animationView.animationImages = colors;
animationView.animationDuration = 1.0;
animationView.animationRepeatCount = 0; // loop

[animationView startAnimating];

我认为唯一的问题是同步这两个动画......