UI基础----CATransition 转场动画 type 私有 API

最近在研究如何更炫的显示图片,所以摸索了几种比较好的解决办法,但是这种更炫的解决办法可能会导致你的程序不能被 apple store 审核通过的分享,慎用!!!!!但是如果你的 app 是要通过企业签发布的会则不会受到太大的影响.

废话不多说,直接进入主题,咱们先来分析一下苹果官方给出的几种效果,以及一些属性的解释:

CATransition 是CAAnimation 的子类,他们是继承的关系(CATransition : CAAnimation),这么说可能会有些抽象,大家可以想一下UINavigationController 就是通过CATransition 实现了将控制器的视图推入屏幕的效果.

属性解析:

type:-------------动画过度类型

subtype:----------动画过渡方向

startProgress:----动画起点(在整体动画的百分比)

endProgress:------动画终点(在整体动画的百分比)

动画过渡类型:

        官方提供 API"

  1. (fade) kCATransitionFade----------交叉淡化过渡(不支持过渡方向,也就是说设置不设置 subtype 并没有什么卵用)

    (moveIn) kCATransitionMoveIn---新视图移到旧视图上面

    (push) kCATransitionPush---------新视图把旧视图推出去

    (reveal) kCATransitionReveal -----旧视图移开,显示下面的新视图

    私有 API:

  2. cube -------------------------立方体翻转效果

        oglFlip -----------------------上下左右翻转效果

        suckEffect -------------------收缩效果.如一块布被抽走(不支持过渡方向)

        rippleEffect ------------------滴水效果(不支持过渡方向)

        pageCurl ---------------------向上翻页效果

        pageUnCurl ------------------向下翻页效果

        rotate -------------------------旋转(不支持过渡方向,可以在 subtype 设置旋转角度)

        cameraIrisHollowOpen ------相机镜头打开效果(不支持过渡方向)

        cameraIrisHollowClose ------相机镜头关闭效果(不支持过渡方向)

动画过渡方向:

        kCATransitionFromTop ----------从上部滑入

        kCATransitionFromBottom ------从下部滑入

        kCATransitionFromLeft ----------从左侧滑入

        kCATransitionFromRight --------从右侧滑入


以下是示例程序的核心代码:

// 1. 创建转场动画
CATransition *transition = [CATransition animation];
// 2. 设置转场动画形式
transition.type = kCATransitionMoveIn;
// 3. 设置转场动画附形式
transition.subtype = kCATransitionFromBottom;
// 4. 执行动画
[self.bgView.layer addAnimation:transition forKey:nil];


另外如果设置 type 为 "rotate"的时候可以设置旋转角度

CATransition *transition = [CATransition animation];
transition.type = @"rotate";
transition.subtype = @"90ccw";

旋转角度设置:

 90cw ----逆时针旋转 90°

 90ccw ---顺时针旋转 90°

 180cw ---逆时针旋转 180°

 180ccw --顺时针旋转 180°


著作权声明:本文为作者原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢!




你可能感兴趣的:(UI基础----CATransition 转场动画 type 私有 API)