iOS 在控制器间跳转实现过渡动画

可以使用CALayer下的CATransition动画在同一个控制器下实现,但是在不同控制器间跳转又该如何做?


  ViewController *VC = [[ViewController alloc]init];
    //创建动画
    CATransition *animation = [CATransition animation];
    //设置运动轨迹的速度
    animation.timingFunction = UIViewAnimationCurveEaseInOut;
    //设置动画类型为立方体动画
    animation.type = @"cube";
    //设置动画时长
    animation.duration =1.0f;
    //设置运动的方向
    animation.subtype =kCATransitionFromRight;
    //控制器间跳转动画
    [[UIApplication sharedApplication].keyWindow.layer addAnimation:animation forKey:nil];
   [self presentViewController:VC animated:NO completion:nil];

下面奉上各种动画执行的代码:
用字符串表示想的type属性

typedef enum : NSUInteger {
    fade = 1,                   //淡入淡出
    push,                       //推挤
    reveal,                     //揭开
    moveIn,                     //覆盖
    cube,                       //立方体
    suckEffect,                 //吮吸
    oglFlip,                    //翻转
    rippleEffect,               //波纹
    pageCurl,                   //翻页
    pageUnCurl,                 //反翻页
    cameraIrisHollowOpen,       //开镜头
    cameraIrisHollowClose,      //关镜头
    curlDown,                   //下翻页
    curlUp,                     //上翻页
    flipFromLeft,               //左翻转
    flipFromRight,              //右翻转

} AnimationType;

参考:iOS开发之各种动画各种页面切面效果

你可能感兴趣的:(iOS常用小功能)