UIImageView动画:手动帧前进

时间:2011-08-08 23:40:11

标签: iphone objective-c xcode uiimageview nsarray

我正在使用UIImageView开发iPhone应用程序。 UIImageView是从NSArray填充的。我想知道的是,如何,而不是使用

[imageView startAnimating];

通话,如何使用UIButton在图像之间前进?

这是我的viewDidLoad:

- (void)viewDidLoad
{
    imageView.animationImages = [NSArray arrayWithObjects:
                                 [UIImage imageNamed:@"1.png"],
                                 [UIImage imageNamed:@"2.png"],
                                 [UIImage imageNamed:@"3.png"],
                                 nil];
;    imageView.animationDuration = 10.00;
    imageView.animationRepeatCount = 0;
    [imageView startAnimating];
    [super viewDidLoad];
    [self.view addSubview:imageView];

}

此外,我想知道如何根据此代码,如何在应用启动时,在图像上使用ImageView 1.png?

谢谢大家。

2 个答案:

答案 0 :(得分:1)

你做不到。 [UIImage animationImages]用于动画,而不是幻灯片式效果。例如,它适用于您自己的UIActivityIndicator实现。

答案 1 :(得分:0)

只需保留UIImage的数组即可,并在按下每个按钮时更改UIImageView的图像属性。也许是这样的事情:

// ivars
NSUInteger imageIndex;
NSArray *images;

// initialization
images = [[NSArray arrayWithObjects:
                                 [UIImage imageNamed:@"1.png"],
                                 [UIImage imageNamed:@"2.png"],
                                 [UIImage imageNamed:@"3.png"],
                                 nil] retain];
imagesIndex = 0;
imageView.image = [images objectAtIndex:imagesIndex];

并在按钮的操作方法中:

- (void)someAction:(id)sender {
  imagesIndex = (imagesIndex + 1) % [images count];
  imageView.image = [images objectAtIndex:imagesIndex];
}