Objective-C UIViewImage动画

时间:2009-09-21 23:42:45

标签: iphone dynamic animation uiimageview

现在我可以使用下面的代码做一个简单的动画。 但是,下面的解决方案需要我预定义图像名称。 我该怎么做NSArray.push(“image1.png”);例如?然后将动态数组指定为animationImages?

谢谢你, 三通

UIImageView* animationView = [[UIImageView alloc] initWithFrame:self.view.frame];

animationView.animationImages = [NSArray arrayWithObjects:  
[UIImage imageNamed:@"transition 1.png"],
[UIImage imageNamed:@"transition 2.png"],
[UIImage imageNamed:@"transition 3.png"],
[UIImage imageNamed:@"transition 4.png"],
[UIImage imageNamed:@"transition 5.png"], nil];

3 个答案:

答案 0 :(得分:4)

您可以使用NSMutableArray,并使用addObject:向其添加对象。例如:

NSMutableArray *a = [NSMutableArray array];
[a addObject:[UIImage imageNamed:@"transition 1.png"]];
[a addObject:[UIImage imageNamed:@"transition 1.png"]];

animationView.animationImages = a;

答案 1 :(得分:2)

-(void)animate
{
name.animationImages = [NSArray arrayWithObjects:    
                                [UIImage imageNamed:@"1.png"],
                                [UIImage imageNamed:@"2.png"],
                                [UIImage imageNamed:@"3.png"],
                                 nil];
//duration of whole animation
name.animationDuration = 3;
// repeat the annimation forever
name.animationRepeatCount = 0;
// start animating
[name startAnimating];
// add the animation view to the main window 
[self.view addSubview:name];

}

这就是我为图像制作动画的方式。只要在任何地方调用动画,它就会做它的东西

答案 2 :(得分:0)

@pgb,谢谢你的代码片段。 我使用的是[[NSMutableArray alloc] init]而不是[NSMutableArray array],这似乎是个问题。

谢谢, 三通