UINavigationController修改默认的动画

系统默认的NavigationController还不错,但是时间长了会有审美疲劳,今天在网上找了找资料,改变默认的动画效果。

 

1.添加QuartzCore并引入头文件 

#import <QuartzCore/QuartzCore.h>
#import <QuartzCore/CoreAnimation.h>


2. PushView 的动画修改 

       
 CATransition *transition = [CATransition animation];
        transition.duration =  1;
        transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
        transition.type = kCATransitionPush;
        transition.subtype = kCATransitionFromTop;
        transition. delegate = self;
        [self.navigationController.view.layer addAnimation:transition forKey:nil];
        self.navigationController.navigationBarHidden = NO;

        [self.navigationController pushViewController:viewController animated:NO]; 


3.popView的动画


    
CATransition *transition = [CATransition animation];
    transition.duration = 0.4;
    transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
    transition.type = kCATransitionReveal;
     // transition.subtype = kCATransitionFromBottom;
    transition. delegate = self;
    [self.navigationController.view.layer addAnimation:transition forKey:nil];
    
    self.navigationController.navigationBarHidden = NO;

    [self.navigationController popViewControllerAnimated:NO]; 

 

本文只是演示了如何修改动画,具体什么样的动画比较好看,还需要自己选择。

你可能感兴趣的:(UINavigationController修改默认的动画)