Transition animations are used for transitions before two view, and normal and keyframe animations are animated for one of the sub-views in the view; catransition *animation = [catransition animation] ; animation.duration = 0.5f;//time Animation.type = Kcatransitionfade;animation.subtype = Kcatransitionfromtop; [Self.view.layer addanimation:animation forked:@ "animation"]; The Fillmode property is independent of the animation effect, and is used primarily to set the effect before the animation starts or after the animation ends.
kCAFillModeRemoved 默认,当动画开始前和动画结束后,动画对layer都没有影响,动画结束后,layer会恢复到之前的状态
kCAFillModeForwards 当动画结束后,layer会一直保持着动画最后的状态
kCAFillModeBackwards 和kCAFillModeForwards相对,具体参考上面的URL
kCAFillModeBoth kCAFillModeForwards和kCAFillModeBackwards在一起的效果Removeoncompletion generally do not need to set up, when the Fillmode to appear after the effect must be set to no; For example, to set an animation to follow the finger movement, when the animation is finished, If Fillmode is not set to forwards, the animation will turn back to the effect of the animation before it is finished; type
* 各种动画效果 其中除了‘fade‘, `moveIn‘, `push‘ , `reveal‘ ,其他属于似有的API(我是这么认为的,可以点进去看下注释).
* ↑↑↑上面四个可以分别使用‘kCATransitionFade‘,
‘kCATransitionMoveIn‘,
‘kCATransitionPush‘,
‘kCATransitionReveal‘来调用.
* @"cube" 立方体翻滚效果
* @"moveIn" 新视图移到旧视图上面
* @"reveal" 显露效果(将旧视图移开,显示下面的新视图)
* @"fade" 交叉淡化过渡(不支持过渡方向) (默认为此效果)
* @"pageCurl" 向上翻一页
* @"pageUnCurl" 向下翻一页
* @"suckEffect" 收缩效果,类似系统最小化窗口时的神奇效果(不支持过渡方向)
* @"rippleEffect" 滴水效果,(不支持过渡方向)
* @"oglFlip" 上下左右翻转效果
* @"rotate" 旋转效果
* @"push"
* @"cameraIrisHollowOpen" 相机镜头打开效果(不支持过渡方向)
* @"cameraIrisHollowClose" 相机镜头关上效果(不支持过渡方向)
*/
* kCATransitionFade 交叉淡化过渡
* kCATransitionMoveIn 新视图移到旧视图上面
* kCATransitionPush 新视图把旧视图推出去
* kCATransitionReveal 将旧视图移开,显示下面的新视Subtype
* 各种动画方向
*
* kCATransitionFromRight; 同字面意思(下同)
* kCATransitionFromLeft;
* kCATransitionFromTop;
* kCATransitionFromBottom;
*/
* 当type为@"rotate"(旋转)的时候,它也有几个对应的subtype,分别为:
* 90cw 逆时针旋转90°
* 90ccw 顺时针旋转90°
* 180cw 逆时针旋转180°
* 180ccw 顺时针旋转180°Timingfunction
* 用于变化起点和终点之间的插值计算,形象点说它决定了动画运行的节奏,比如是均匀变化(相同时间变化量相同)还是
* 先快后慢,先慢后快还是先慢再快再慢.
*
* 动画的开始与结束的快慢,有五个预置分别为(下同):
* kCAMediaTimingFunctionLinear 线性,即匀速
* kCAMediaTimingFunctionEaseIn 先慢后快
* kCAMediaTimingFunctionEaseOut 先快后慢
* kCAMediaTimingFunctionEaseInEaseOut 先慢后快再慢
* kCAMediaTimingFunctionDefault 实际效果是动画中间比较快.
IOS transition Animations