UINavigationController 各种跳转特效

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

你可能感兴趣的:(UINavigationController 各种跳转特效)