2010-07-16 67 views
2

嘿,试图把一个简单的PNG序列动画到我的应用程序。我在IB中安装了第一个框架,并且连接了它的graphanimation出口。 在序列中有54个png,名称为“Comp 1_0000.png”至“Comp 1_00053.png”iphone imageview序列动画

这是我的代码。

-(void)viewDidLoad{ 
for (int i=0; i<53; i++) { 
     graphanimation.animationImages = [NSArray arrayWithObjects: 
          [UIImage imageNamed:@"Comp 1_000%d.png",i]]; 
    } 
    graphanimation.animationDuration = 1.00; 
graphanimation.animationRepeatCount = 1; 
[graphanimation startAnimating]; 
[self.view addSubview:graphanimation]; 
    [super viewDidLoad];  
} 

我认为我用i整数引用图像文件名的方式有问题。有人可以帮我排序这个吸盘吗? 谢谢!

回答

4

您无法将可变参数列表和格式参数传递给[UIImage imageNamed:]。

尝试这样的事情吗?

... 
NSMutableArray *array = [NSMutableArray arrayWithCapacity:54]; 
for (int i = 0; i < 54; ++i) { 
    NSString *name = [NSString stringWithFormat:@"Comp 1_000%d.png",i]; 
    UIImage *image = [UIImage imageNamed:name]; 
    [array addObject:image]; 
} 
graphAnimation.animationImages = array; 
... 
+1

谢谢! 只是我发现的东西: 动画结束并恢复显示第一帧。要让它显示最后一帧,只需将UIImageView更改为Interface Builder中的最后一帧图像即可。 – Hippocrates 2010-07-16 14:49:42