2011-02-02 2 views
1

Прямо сейчас, когда я вытаскиваю пользовательский контроллер вида из стека контроллера навигации (с анимированным: ДА), он выполняет обычное скольжение вправо. Я хочу, чтобы анимация выглядела так же, как когда вы нажимаете контроллер (слайд справа), но по-прежнему эффект поп-музыки не толчок. Как мне начать свой квест? Должно ли это быть сделано в viewWillAppear?Слайд справа справа при нажатии контроллера просмотра из навигационного стека

ответ

1

Я однажды сделал пользовательскую анимацию вида, похожее на это. Что касается начала, я бы посмотрел на the core animation framework. Лучшее совпадение, чем то, что вы хотите, может быть UIView animations в документации Apple.

В принципе, вы устанавливаете рамку в viewDidLoad, чтобы быть вне экрана. Тогда в viewDidAppear, вы установите рамку, чтобы быть в конце кадра, но обернуть его в этом коде:

[UIView beginAnimations:@"animationsNameThisCanBeAnythingOrNil" context:nil] 
//Reset the frame here 
[UIView commitAnimations]; 

Я надеюсь, что это помогает!

0

Только в случае, если это поможет кому-то, это код, который я использую, чтобы сделать то, что было запрошено:

CATransition *animation = [CATransition animation]; 
[animation setDuration:0.5]; 
[animation setType:kCATransitionPush]; 
[animation setSubtype:kCATransitionFromRight]; 
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 
[[self.navigationController.view layer] addAnimation:animation forKey:nil]; 
[self.navigationController popViewControllerAnimated:NO]; 

Вы можете убедиться, что лежащая в основе UIView, что вы хлопаете FROM имеет чистый фон в противном случае, когда вы попсете, вы увидите, что старый UIView исчезает до белого, когда он отскакивает.

Смежные вопросы