您的位置:首页 > 运维架构

定义NavigationController pop 和push的动画

2016-03-21 13:55 375 查看
系统默认的NavigationController还不错,但是时间长了会有审美疲劳,今天在网上找了找资料,改变默认的动画效果。

 

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]; 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: