形变属性

 1 #import "ViewController.h"
 2 @interface ViewController ()
 3 @end
 4 @implementation ViewController
 5             
 6 - (void)viewDidLoad {
 7     [super viewDidLoad];
 8     
 9     UIButton* btn  = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 30, 30)];
10     btn.backgroundColor  = [UIColor redColor];
11     [btn addTarget:self action:@selector(dian:) forControlEvents:UIControlEventTouchUpInside];
12     [self.view addSubview:btn];
13 }
14 
15 - (void)dian:(UIButton*)sender{
16 
17     // transform 形变属性
18     // transformMake 基于原始属性的基础进行变化
19     // transform     在已经变化的基础上进行变化
20     
21     // 旋转(旋转角度:pai)
22     // (tx:在x轴移动的距离,ty:在y轴移动的距离)
23     // +M_PI_2 顺时针旋转,-M_PI_2 逆时针旋转
24 弧度、角度:3.14  180          角度=弧度*1803.14     弧度 = 角度*3.14180
25     // 基于原始属性变化  angle 角度
26     sender.transform = CGAffineTransformMakeRotation(M_PI_2);
27     // 在变化的基础上旋转
28     sender.transform = CGAffineTransformRotate(sender.transform,M_PI_2);
29     
30     // 在x轴上移动的距离
31     sender.transform = CGAffineTransformMakeTranslation(100, 0);
32     sender.transform = CGAffineTransformTranslate(sender.transform, 100, 0);
33     
34     // 在y轴上移动的距离
35     sender.transform = CGAffineTransformMakeTranslation(0, 100);
36     sender.transform = CGAffineTransformTranslate(sender.transform, 0, 100);
37     
38     // 在x轴y轴同时移动
39     sender.transform = CGAffineTransformMakeTranslation(10, 10);
40     sender.transform = CGAffineTransformTranslate(sender.transform, 10, 10);
41     
42     // 放大 ,x轴y轴同时放大(x或y轴单独放大同上移动一样)
43     // 小于1是缩小,大于1是放大(放大1.5倍)
44     sender.transform = CGAffineTransformMakeScale(1.5, 1.5);
45     // 连续放大(缩小同理)
46     sender.transform = CGAffineTransformScale(sender.transform, 1.5, 1.5);
47     
48     // 清空形变属性    Identity 仿射变幻(在原有的基础上变化,移动,旋转,缩放)
49     sender.transform = CGAffineTransformIdentity;
50 }
原文地址:https://www.cnblogs.com/WillingToAsk1946zzh/p/4486228.html