一,自定义动画写push方法--
添加coreGraphics.framework框架 在CATransitionAnimation.h文件里面引入-- #import <QuartzCore/QuartzCore.h> @interface CATransitionAnimation : UIViewController //用CATransition重写viewControlller的push方法--1 -(void)customPushViewControllerWithAnimation:(UIViewController *)viewController; 在CATransitionAnimation.m文件里面写方法 //用CATransition重写viewControlller的push方法-- -(void)customPushViewControllerWithAnimation:(UIViewController *)viewController{ CATransition *transition=[CATransition animation]; transition.duration=0.3f;//控制跳转快慢-- transition.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];//用淡出淡入的方法 transition.type=kCATransitionPush;//用push方法 transition.removedOnCompletion=YES; transition.subtype=kCATransitionFromRight;//从右边开始推 [viewController.view.layer addAnimation:transition forKey:@"transition"]; [self presentViewController:viewController animated:NO completion:^{}]; } 在运用文件里面继承此类-- @interface ViewController : CATransitionAnimation 然后直接在文件里面引用此方法--
二,运用navigation框架方法写push方法--
当上一个页面跳转的本页面时: nextPAGEViewcontroller *newpage=[[nextPAGEViewcontroller alloc] init]; UINavigationController *NAC=[[UINavigationController alloc]initWithRootViewController:newpage]; NAC.navigationBarHidden=YES; 在下一个页面直接调用navigation跳转方法-- [self.navigationController pushViewController:viewController animated:YES];