UINavigationController 自定义动画

来源:互联网 发布:最优化理论与方法豆瓣 编辑:程序博客网 时间:2024/05/22 15:17

自定义动画:

1.添加QuartzCore并引入头文件

#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];