CGAffineTransform回顾

来源:互联网 发布:推荐好的淘宝女装店铺 编辑:程序博客网 时间:2024/06/06 16:06

CoreGraphics框架中的CGAffineTransform类可用于设定UIView的transform属性,通过transform属性可以修改对象的平移、缩放比例和旋转角度,transform 是一种状态,并且只有一种状态:

常用的创建transform结构体方法分两大类:
(1) 创建“基于控件初始位置”的形变
<1> CGAffineTransformMakeTranslation(CGFloat tx, CGFloat ty)(平移->设置平移量)

<2> CGAffineTransformMakeScale(CGFloat sx, CGFloat sy)(缩放->设置缩放比例)

<3> CGAffineTransformMakeRotation(CGFloat angle)(旋转->设置旋转角度)

注意点:
1)创建“基于控件初始位置”的形变,只能变化一次,因为这种方式的变化始终是以最原始的状态值进行变化的,所以只能变化一次。上述3个都是针对视图的原定最初位置的中心点为起始参照进行相应操作的。
2)设置旋转角度时,一般用的都是弧度值,如180° = M_PI,正数表示顺时针旋转,负数表示逆时针旋转。

(2) 创建“基于transform参数”的形变

<1> CGAffineTransformTranslate

<2> CGAffineTransformScale

<3> CGAffineTransformRotate

注意点:创建“基于transform参数”的形变,能够多次变化,每次变化都是以上一次的状态(CGAffineTransform transform)进行的变化,所以可以多次变化。

(3)CGAffineTransformIdentity:清空之前设置的所有的transform(一般和动画配合使用,只能使用于transfofrm设置的画面),即在操作结束之后可对设置量进行还原:
view.transform=CGAffineTransformIdentity;

0 0
原创粉丝点击