Я искал множество SO вещей и в ссылках Apple, но все еще не смог справиться с моей проблемой.
Что у меня есть:
- экран с 2 UIImageViews и подключених 2 кнопки UIB
- 2 вида анимации:2.1.сначала увеличивается, а затем уменьшается каждое изображение, одно за другим, только один раз в viewDidLoad 2.2.Во-вторых, при нажатии кнопки (которая является пользовательской кнопкой, скрытой «внутри» каждого UIImageView), она запускает анимацию соответствующего UIImageView - только один, а не оба - (также масштабируется, затем уменьшается).Пишу для iOS4 + Мне сказали использовать блочную анимацию!
Что мне нужно:
Как отменить запуск анимации?Мне удалось отменить все, кроме последнего ...: / Вот мой фрагмент кода:
[UIImageView animateWithDuration:2.0
delay:0.1
options:UIViewAnimationOptionAllowUserInteraction
animations:^{
isAnimating = YES;
self.bigLetter.transform = CGAffineTransformScale(self.bigLetter.transform, 2.0, 2.0);
} completion:^(BOOL finished){
if(! finished) return;
[UIImageView animateWithDuration:2.0
delay:0.0
options:UIViewAnimationOptionAllowUserInteraction
animations:^{
self.bigLetter.transform = CGAffineTransformScale(self.bigLetter.transform, 0.5, 0.5);
} completion:^(BOOL finished){
if(! finished) return;
[UIImageView animateWithDuration:2.0
delay:0.0
options:UIViewAnimationOptionAllowUserInteraction
animations:^{
self.smallLetter.transform = CGAffineTransformScale(self.smallLetter.transform, 2.0, 2.0);
} completion:^(BOOL finished){
if(! finished) return;
[UIImageView animateWithDuration:2.0
delay:0.0
options:UIViewAnimationOptionAllowUserInteraction
animations:^{
self.smallLetter.transform = CGAffineTransformScale(self.smallLetter.transform, 0.5, 0.5);
}
completion:^(BOOL finished){
if (!finished) return;
//block letter buttons
[self.bigLetterButton setUserInteractionEnabled:YES];
[self.smallLetterButton setUserInteractionEnabled:YES];
//NSLog(@"vieDidLoad animations finished");
}];
}];
}];
}];
Каким-то образом smallLetter UIImageView не работает должным образом, потому что при нажатии (через кнопку) bigLetterправильная отмена анимации ... спасибо заранее:)
РЕДАКТИРОВАТЬ: Я использовал это решение, но все еще возникают проблемы с уменьшением smallLetter UIImageView - вообще не отменяется ... решение
РЕДАКТИРОВАТЬ2: Я добавил это в начале следующих методов / prev:
- (void)stopAnimation:(UIImageView*)source {
[UIView animateWithDuration:0.01
delay:0.0
options:(UIViewAnimationOptionBeginFromCurrentState | UIViewAnimationOptionAllowUserInteraction)
animations:^ {
source.transform = CGAffineTransformIdentity;
}
completion:NULL
];
}
проблема остается ...: /не знаю, как прервать последнюю анимацию для букв в цепочке анимаций