У меня есть блок кода анимации UIView, который выглядит следующим образом:
[UIView beginAnimations:@"pushView" context:nil];
[UIView setAnimationDelay:0];
[UIView setAnimationDuration:.5];
[UIView setAnimationDelegate:self];
[UIView setAnimationWillStartSelector:@selector(animationWillStart)];
view.frame = CGRectMake(0, 0, 320, 416);
[UIView commitAnimations];
Код в основном имитирует анимацию презентации ModalView и привязан к кнопке на моем интерфейсе. Когда кнопка нажата, я получаю долгую (0,5 с) задержку (на iPod Touch ... в два раза быстрее на iPhone 3GS) перед тем, как на самом деле вызывается animationWillStart :. У моего приложения много чего происходит, кроме этого, но я рассчитал различные моменты своего кода, и задержка определенно происходит в этом блоке. Другими словами, отметка времени непосредственно перед этим блоком кода и отметка времени при вызове animationWillStart: показывает разницу в 0,5 секунды.
Я не слишком опытен с Core Animation, и я просто пытаюсь выяснить, в чем причина задержки ... Использование памяти стабильно, когда анимация запускается, и CoreAnimation FPS, кажется, подходит для Инструментов. Представление, которое становится анимированным, имеет более 20 общих подпредставлений, но если бы это было проблемой, не вызвало ли это прерывистость после запуска анимации, а не раньше? Есть идеи?