IOS 动画总结
就两种,UIView自带动画和核心动画(Core Animation)
一、UIView自带动画(UIKit框架中)
注意:只有当UIView的以下属性改变时才能产生动画效果,且这些动画效果都是平面性的(二维的),基于手机屏幕的平面,主要有“平移(位置改变,沿x轴、Y轴或同时改变)”、“缩放(view大小改变,宽高)”、“旋转(只有沿Z轴,即垂直于屏幕的轴,旋转平行于屏幕)”、“背景色的改变”、“透明度”:
重点介绍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了就是逆时针了
增加变换===============
//为一个变换再加上平移变换
一、UIView自带动画(UIKit框架中)
-
frame
(平移 + 缩放) -
bounds
(平移 + 缩放) -
center
(平移) -
transform
(变换【平移 + 缩放 + 旋转】) -
alpha
(透明度) -
backgroundColor
(背景色) -
contentStretch
(6.0之后已经弃用)