标签:
transform我们一般称为形变属性,其本质是通过矩阵变化改变控件的大小、位置、角度等,这里我们通过一个例子来看一下具体的操作,在下面的例子中我们也会看到UIImageView控件的常用操作。
- (void)viewDidLoad { [super viewDidLoad]; self.redView = [[UIView alloc]initWithFrame:CGRectMake(100, 200, 100, 100)]; self.redView.backgroundColor = [UIColor redColor]; [self.view addSubview:self.redView]; } - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ [self Translate]; } //旋转 - (void)Rotate{ self.redView.transform = CGAffineTransformRotate(self.redView.transform, M_PI_4); } //缩放 - (void)Scale{ self.redView.transform = CGAffineTransformScale(self.redView.transform, 0.5, 0.5); } //移动 - (void)Translate{ self.redView.transform = CGAffineTransformTranslate(self.redView.transform, 0, 50); }
iOS开发UI篇—transframe属性(形变)
1. transform属性
在OC中,通过transform属性可以修改对象的平移、缩放比例和旋转角度
常用的创建transform结构体方法分两大类
(1) 创建“基于控件初始位置”的形变
CGAffineTransformMakeTranslation(平移)
CGAffineTransformMakeScale(缩放)
CGAffineTransformMakeRotation(旋转)
(2) 创建“基于transform参数”的形变
CGAffineTransformTranslate
CGAffineTransformScale
CGAffineTransformRotate
补充:
在OC中,所有跟角度相关的数值,都是弧度值,180° = M_PI
正数表示顺时针旋转
负数表示逆时针旋转
提示:由于transform属性可以基于控件的上一次的状态进行叠加形变,例如,先旋转再平移。因此在实际动画开发中,当涉及位置、尺寸形变效果时,大多修改控件的transform属性,而不是frame、bounds、center 。
标签:
原文地址:http://www.cnblogs.com/jiayongqiang/p/5498862.html