Изменить продолжительность UINavigationController Push Animation - PullRequest
2 голосов
/ 27 января 2012

Мне нравится стандартная анимация "push", которую использует UINavigationController, но я хочу замедлить ее примерно до 1,0 секунды. Любой совет?

PS - я пытался использовать CATransition с kCATransitionPush и kCATransitionFromRight, но у меня получился странный эффект постепенного исчезновения белого, который был нежелателен.

Ответы [ 2 ]

0 голосов
/ 27 января 2012

В моем приложении (приложение флэшкарты) я использую этот код:

FlashCardFlipVC * flipvc = [[FlashCardFlipVC alloc] initWithFlashCardData:_card];
flipvc.navigationItem.title = self.navigationItem.title;

[UIView  beginAnimations:@"ShowAnswers" context: nil];
[UIView setAnimationCurve: UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.75];
[self.navigationController pushViewController: flipvc animated:NO];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.navigationController.view cache:NO];
[UIView commitAnimations];

[flipvc release];

Он задает другой шаблон анимации (свернувшись калачиком вместо слайда) и другие настройки времени.Вы можете использовать свой собственный, конечно.

0 голосов
/ 27 января 2012

Вы пробовали установить setAnimationDuration:?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...