2018-07-05

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;

你可能感兴趣的:(2018-07-05)