Нет эффекта отскакивания с animateWithDuration: задержка: параметры: анимация: завершение: метод - PullRequest
0 голосов
/ 19 сентября 2011

Когда я пишу свой анимационный код в блоках beginAnimation-commitAnimatin, я получаю эффект отскакивания, однако я не получаю тот же эффект, когда делаю ту же анимацию с методом, написанным в предмете. Вот два способа сделать то, что я хочу:

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDelay:0.5];
[UIView setAnimationDuration:1];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];

[UIView setAnimationRepeatAutoreverses:YES];
[UIView setAnimationRepeatCount:2];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:
@selector(resetTheChickenProperties)];

theChicken.frame = CGRectMake(15, 330, 62, 90);
[UIView commitAnimations];

путь, показанный над изображением (это яйцо), идет вниз в направлении у, пока не упадет на землю и не отскочит назад. Прыгающий эффект четко прослеживается. Но если я сделаю то же самое с помощью метода animateWithDuration: delay: options: animations: Competletion, яйцо не отскочит. Это скорее похоже на повешение на пружине.

1 Ответ

1 голос
/ 20 сентября 2011

ОК, я обнаружил тонкие детали, на которые все должны обратить внимание, чтобы анимация и переходы работали с методом, доступным в iOS 4 и более поздних версиях. При указании параметров анимации / перехода для метода, который мы должны использоватьконстанты со словом «Вариант» в нем.Поэтому вместо записи

UIViewAnimationCurveEaseIn|UIViewAnimationTransitionCurlUp

мы должны написать

UIViewAnimationOptionCurveEaseIn|UIViewAnimationOptionTransitionCurlUp

после того, как исправим, что анимация работает просто отлично.Мне удалось получить настоящий подпрыгивающий эффект

...