Я пытаюсь освоить анимацию с книгой 2009 года, и, насколько я понимаю, предпочтительным методом анимации в iOS4 является использование блоков. Книга, которую я читаю, использует старый метод, и я пытался перевести его на новый метод с минимальным успехом.
Что говорится в книге:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:animationTimer];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
[UIView setAnimationDelegate:self];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDidStopSelector:@selector(lastAnimationZero)];
//animations
[UIView commitAnimations];
Мой (очевидно, неудачный) перевод:
[UIView animateWithDuration:animationTimer
options: (UIViewAnimationOptionAllowUserInteraction |
UIViewAnimationOptionCurveEaseOut)
animations: ^
{
animation
}
completion:^(BOOL finished)
{
lastAnimation = 0;
}];
Каждый раз, когда я запускаю его, я (используя блочный метод) получаю «Программа получила сигнал:« SIGABRT »и консоль показывает
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+
[UIView animateWithDuration:options:animations:completion:]: unrecognized selector sent to class 0x8393b4'