我希望能够流畅地将一个UIImageView中的图像动画转换为下一张图像,就像UIModalTransitionStyleCrossDissolve一样,在一秒钟内完成。
目前,我有一个名为“imageView”的UIImageView *和一个名为“imageForState”的函数,该函数返回正确图像的UIImage *。
因此,如果存在图像B,我想要将图像A平滑地动画转换为图像B。
目前,我的函数如下:
目前,我有一个名为“imageView”的UIImageView *和一个名为“imageForState”的函数,该函数返回正确图像的UIImage *。
因此,如果存在图像B,我想要将图像A平滑地动画转换为图像B。
目前,我的函数如下:
- (UIImage *) imageForState{
NSLog(@"state: %d", [save state]);
switch ([save state]) {
case 0:
case 1:
return [UIImage imageNamed:@"Sakuya_Debug.PNG"];
case 2:
return [UIImage imageNamed:@"Sakuya_2_Debug.PNG"];
default:
return NULL;
//Never called
}
}
-(void) tap{
[imageView setAnimationImages:[NSArray arrayWithObjects:[imageView image], [self imageForState], nil]];
imageView.animationDuration = 2.0;
[imageView startAnimating];
save.state++;
}
我的问题是,第一,动画会一直持续下去(当我将imageView.animationRepeatCount设置为1时,会再次回到第一张图片),第二,动画不流畅;就像我使用 "setImage" 一样。
我做错了什么?