CAAffineTransform

iOS核心动画笔记5-变换

﹥>﹥吖頭↗ 提交于 2019-11-30 12:34:14
变换 这一节主要讲的是, 对图层进行旋转,缩放扭曲等操作. 1. 仿射变换 在视图层面上, UIView有个属性叫做 transform, 可以进行二维层面上的图层变换. 主要包括: 旋转/平移/缩放操作. 当图层应用变换矩阵进行变换时候, 图层矩形内的每个点都会被相应的进行变化, 从而形成一个新的四边形的形状. 仿射变换中"仿射"的意思是无论变换矩阵用什么值, 图层中平行的两条线在变换之后仍然保持平行. 2. 创建仿射变换 CGAffineTransform CGAffineTransform实际上是一个3*2的矩阵, 在OC中用结构体表示, (CG前缀表示属于Core Graphcs框架), CG框架提供了方便的方法来创建CGAffineTransform结构体, 如下三个是创建旋转, 缩放,平移的方法, 返回值是CGAffineTransform类型结构体. CGAffineTransformMakeRotation(CGFloat angle) CGAffineTransformMakeScale(CGFloat sx, CGFloat sy) CGAffineTransformMakeTranslation(CGFloat tx, CGFloat ty) UIView用来做变换的属性叫做transform, 对应CALayer的属性是affineTransform.