Я хочу плавно анимировать изображение в UIImageView, чтобы оно превратилось в следующее в течение одной секунды, как это делает UIModalTransitionStyleCrossDissolve.
В настоящее время у меня есть UIImageView *, называемый "imageView", и функция, которая называется "imageForState", которая возвращает мне UIImage * для правильного изображения.
Итак, я хочу плавно анимировать изображение 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++;
}
Моя проблема в том, что 1.) анимация продолжается вечно (когда я устанавливаю imageView.animationRepeatCount в 1, я снова получаю первое изображение) и б.) Анимация не плавная; так же, как я бы использовал "setImage";
Что я делаю не так?