1. 在跳转之前调用下列方法:
CATransition *transition = [CATransition animation];
transition.duration = 0.5f;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFromTop;
transition.delegate = self;
[self.navigationController.view.layer addAnimation:transition forKey:nil];
//然后再调用页面跳转功能
[self.navigationController pushViewController:controller animated:YES];
2。再推出一个页面时候先调用
CATransition *transition = [CATransition animation];
transition.duration = 0.5f;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFromBottom;
transition.delegate = self;
[self.navigationController.view.layer addAnimation:transition forKey:nil];
//然后再调用页面跳转功能
[self.navigationController popToViewController:view animated:YES];
//========也可以使用下面方式实现页面跳转动画
其中options定义了很多系统动画:旋转、翻页效果等
[UIView transitionFromView:self.view toView:navgitionController.view duration:0.7 options:UIViewAnimationOptionTransitionFlipFromRight completion:^(BOOL finished)
{
NSLog(@"----fan zhuan---- to mapView");
}];