ios 动画(抖动,入场动画,组动画)

来源:互联网 发布:老公寄存处 知乎 编辑:程序博客网 时间:2024/04/29 22:49
//1.图片抖动//使用帧动画 设置旋转 路径CAKeyframeAnimation *rotationAnii = [CAKeyframeAnimation animation];rotationAni.keyPath=@"transform.rotation";//计算好旋转的弧度CGFloat angle=M_PI_*0.3;//设置旋转路径rotationAni.values=@[@(-angle),@(angle),@(-angle)];//设置动画执行次数rotationAni.repeatCount=5;//给图片添加动画[self.imgIcon.layer addAnimation:rotationAni forkey:@"shake"];//移除动画[self.imgIcon.layer removeAnimationForKey:@"shake"];//2.入场动画(CATransition)CATransition *annimation = [CATransition animation];//设置转场动画类型//fade ,交叉淡化过度//moveIn,新视图移到旧视图的上面//push,新视图把久视图推出去//reveal,将旧视图移开,显示下面的新视图//pageCurl 向上翻一页//pageUnCurl 向下翻一页//rippleEffect 滴水效果//suckEffect 收缩效果,如一块布被抽走//cube 立体效果//oglFlip 上下左右翻转效果//rotate 旋转效果//cameraIrisHollowClose 相机镜头关上效果(不支持过渡方向)//cameraIrisHollowOpen 相机打开效果(不支持过渡方向)annimation.type=@"push";//设置转场动画子类型annimation.subtype=@"fromLeft";//fromLeft 动画由左边开始//fromRight 动画由右边开始//fromTop//fromBottom//当type为 @rotate(旋转)的时候,它也有几个对应的subtype 分别为:/**90cw 逆时针旋转 90度*90ccw 顺时针旋转 90度*180cw 逆时针旋转 180度*180ccw 顺时针旋转 180度*/annimation.duration=3;[self.imgView.layer addAnimation:annimation forKey:nil];//组动画 CAAnimationGroup//一张图片同时有平移,旋转,缩放效果(采用组动画实现)//1.创建组动画对象CAAnimationGroup *group =[CAAnimationGroup animation];//2.往里面添加多个动画//2.1平移动画CABasicAnimation *positionAni=[CABasicAnimatiion animation];positionAni.keyPath=@"position";positionAni.toValue=[NSValue valueWithCGPoint:CGPointMake(200,200)];group.animations=@[positionAni];//2.2旋转效果CABasicAnimation *rotationAni = [CABasicAnimation animation];rotationAni.keyPath=@"transfrom.rotation";rotationAni.toValue=@(M_PI_2);group.animations=@[rotationAni];//2.3缩放效果CABasicAnimation *scaleAni=[CABasicAnimation animation];scaleAni.keyPath=@"transform.scale";scaleAni.toValue=@(0.5);group.animations=@[scaleAni];//3.把组动画添加到图层上[self.imgView.layer addAnimation:group forKey:nil];

0 0
原创粉丝点击