push方法的页面间跳转--

一,自定义动画写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];


你可能感兴趣的:(push)