iOS UIView自带动画和核心动画
来源:互联网 发布:淘宝5金冠店铺是那个 编辑:程序博客网 时间:2024/06/05 12:28
就两种,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了就是逆时针了
增加变换===============
//为一个变换再加上平移变换
CGAffineTransform CGAffineTransformTranslate(CGAffineTransform t,CGFloat tx, CGFloat ty)
一、UIView自带动画(UIKit框架中)
- frame
(平移 + 缩放) - bounds
(平移 + 缩放) - center
(平移) - transform
(变换【平移 + 缩放 + 旋转】) - alpha
(透明度) - backgroundColor
(背景色) - contentStretch
(6.0之后已经弃用)