nav跳转页面动画
secondController * svc = [[secondController alloc]init];
//CATransition继承于CAAnimation
CATransition * transition = [CATransition animation];
//动画时间
transition.duration = 0.3f;
//速度控制函数
/*
1.kCAMediaTimingFunctionLinear(线性):匀速,给你一个相对静态 的感觉
2.kCAMediaTimingFunctionEaseIn(渐进):动画缓慢进入,然后加速离开
3.kCAMediaTimingFunctionEaseOut(渐出):动画全速进入,然后减速的到达目的地
4.kCAMediaTimingFunctionEaseInEaseOut(渐进渐出):动画缓慢的进入,中间加速,然后减速的到达目的地。这个是默认的动画行为。
*/
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
//动画效果
/*
kHYBTransitionFade = 1, // 淡入淡出
kHYBTransitionPush, // 推进效果
kHYBTransitionReveal, // 揭开效果
kHYBTransitionMoveIn, // 慢慢进入并覆盖效果
kHYBTransitionCube, // 立体翻转效果
kHYBTransitionSuckEffect, // 像被吸入瓶子的效果
kHYBTransitionRippleEffect, // 波纹效果
kHYBTransitionPageCurl, // 翻页效果
kHYBTransitionPageUnCurl, // 反翻页效果
kHYBTransitionCameraOpen, // 开镜头效果
kHYBTransitionCameraClose, // 关镜头效果
kHYBTransitionCurlDown, // 下翻页效果
kHYBTransitionCurlUp, // 上翻页效果
kHYBTransitionFlipFromLeft, // 左翻转效果
kHYBTransitionFlipFromRight,// 右翻转效果
kHYBTransitionOglFlip // 翻转
*/
transition.type = kCATransitionPush;
//动画执行方向
transition.subtype = kCATransitionFromTop;
//添加动画
[self.navigationController.view.layer addAnimation:transition forKey:nil];
//跳转页面
[self.navigationController pushViewController:svc animated:YES];
网友评论