翻转转换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];