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 角度=弧度*180 / 3.14 弧度 = 角度*3.14 / 180 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 }