翻转转换uinavigationcontroller推

我使用下面的代码在导航堆栈中推UIViewController

[UIView animateWithDuration:0.75 animations:^{ [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; [self.navigationController pushViewController:ViewController animated:NO]; [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO]; }]; 

现在当我按下后,我想要它做同样的animation,但它不工作。 任何想法为什么?

在ViewController.m中

 [UIView animateWithDuration:0.75 animations:^{ [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; [self.navigationController popToRootViewControllerAnimated:NO]; [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.navigationController.view cache:NO]; }]; 

其实过渡应该是这样做的

//的MainView

 [UIView transitionWithView:self.navigationController.view duration:0.75 options:UIViewAnimationOptionTransitionFlipFromRight animations:^{ [self.navigationController pushViewController:viewcontroller animated:NO]; } completion:nil]; 

//在viewcontroller中

 [UIView transitionWithView:self.navigationController.view duration:0.75 options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{ [self.navigationController popToRootViewControllerAnimated:NO]; } completion:nil]; 
 //FirstViewController [UIView beginAnimations:@"animation" context:nil]; [UIView setAnimationDuration:0.8]; [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.navigationController.view cache:NO]; [self.navigationController pushViewController: viewcontroller animated:NO]; [UIView commitAnimations]; //SecondViewController [UIView beginAnimations:@"animation" context:nil]; [UIView setAnimationDuration:0.8]; [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.navigationController.view cache:NO]; [self.navigationController popViewControllerAnimated:NO]; [UIView commitAnimations];