2010-08-31 5 views
1

У меня есть следующий код, который делает приятную анимацию при нажатии нового контроллера вида.popViewController, похоже, не работает с анимацией UIView

[UIView beginAnimations:@"animation" context:nil]; 
[UIView setAnimationDuration:0.5]; 
[[self navigationController] pushViewController:details animated:NO]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.navigationController.view cache:NO]; 
[UIView commitAnimations]; 

Этот код, используя popViewController (а не pushViewController), не делает анимацию.

[UIView beginAnimations:@"animationback" context:nil]; 
[UIView setAnimationDuration:0.5]; 
[[self navigationController] popViewControllerAnimated:NO]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.navigationController.view cache:NO]; 
[UIView commitAnimations]; 

Любые идеи, почему это было бы и что еще важнее; как я могу это исправить?

ответ

2

Вы уверены, что self.navigationController.view действительно относится к правильному виду ... тот, который анимирован? У меня такое ощущение, что первый случай работает только случайно. Разве вы не должны ссылаться на представление контроллера, который вытолкнул/выскочил?

+0

Вы были верны, но у меня возникла новая проблема. Когда он переворачивается, всплывающее представление нового представления находится по обе стороны от переброса, если вы знаете, что я имею в виду. Есть идеи? – qui

+0

Это свойство CALayer - вы можете установить его односторонним. –

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