ios navigationController导航跳转方式自定义

在项目中需要对导航跳转方式自定义,马上就能想到用

CATransition动画来实现,

下面的代码是跳转到下一个视图:

 CATransition *animation = [CATransition animation];

    [animation setDuration:0.3];

    [animation setType: kCATransitionPush];

    [animation setSubtype: kCATransitionFromRight];//跳转方向样式

    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];

    

    [self.navigationController pushViewController:searchResult animated:NO];//禁止导航动画

    [self.navigationController.view.layer addAnimation:animation forKey:@"animation"];

只需把导航的动画禁掉,加上自己所需要的方向

下面的代码是返回前一个视图:

  CATransition *animation = [CATransition animation];

    [animation setDuration:0.3];

    [animation setType: kCATransitionPush];

    [animation setSubtype: kCATransitionFromLeft];

    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];

    [self.navigationController.view.layer addAnimation:animation forKey:@"animation"];

self.navigationController popViewControllerAnimated:NO];//禁止动画


返回前一个视图时有个注意点,禁止动画这一句必须写在动画代码的后面,否则达不到理想的效果。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值