您的位置:首页 > 移动开发 > IOS开发

iOS动画总结

2016-09-06 12:09 281 查看
就两种,UIView自带动画和核心动画(Core Animation)

一、UIView自带动画(UIKit框架中)

        注意:只有当UIView的以下属性改变时才能产生动画效果,且这些动画效果都是平面性的(二维的),基于手机屏幕的平面,主要有“平移(位置改变,沿x轴、Y轴或同时改变)”、“缩放(view大小改变,宽高)”、“旋转(只有沿Z轴,即垂直于屏幕的轴,旋转平行于屏幕)”、“背景色的改变”、“透明度”:
frame  (平移
+ 缩放)
bounds   (平移
+ 缩放)
center   (平移)
transform   (变换【平移
+ 缩放 + 旋转】)

alpha   (透明度)
backgroundColor  (背景色)
contentStretch   (6.0之后已经弃用)

         重点介绍transform的使用:

                eg:view.transform = CGAffineTransformMakeScale(0.5, 0.5);

         CGAffineTransform结构体详解 CGAffineTransform.h:

                CGAffineTransform CGAffineTransformIdentity   默认值,保持原样不变

                CGAffineTransform CGAffineTransformMake(CGFloat a, CGFloat b,CGFloat c, CGFloat d, CGFloat tx, CGFloat ty)                                                          直接变换三维矩阵,很少用吧

              创建变换============= 
              //Translation(平移)创建一个平移变换,起始位置
x 会加上tx , y 会加上 ty

                CGAffineTransform CGAffineTransformMakeTranslation(CGFloat tx,CGFloat ty)

               //Scale(缩放) 宽度就会变为  width*sx  ,对应高度变为  hight * sy

                CGAffineTransform CGAffineTransformMakeScale(CGFloat sx, CGFloat sy)

              //Rotation(旋转)将一个图片视图旋转了多少度,参数是弧度,先把度转化为弧度

                CGAffineTransform CGAffineTransformMakeRotation(CGFloat angle)  //90.0*(M_PI/180.0)  顺时针旋转90度,-90.0*(M_PI/180.0)
逆时针旋转90度,view的旋转方向仅以整个圆周最小的弧度,即270不会顺时针转3/4圈,而是逆时针转1/4圈,以180为界,大于等于180了就是逆时针了

             增加变换===============
             //为一个变换再加上平移变换

                CGAffineTransform CGAffineTransformTranslate(CGAffineTransform t,CGFloat tx, CGFloat ty)

      
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios 动画