//
// ViewController.m
// 02-transfrom
//
// Created by beijing_ios_13 on 16/4/3.
// Copyright © 2016年 itcast. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
//上方的头像
@property (weak, nonatomic) IBOutlet UIButton *iconBtn;
//响应按钮的点击事件
//- (IBAction)move;
//- (IBAction)move:(UIButton *)btn;
//- (IBAction)move;
//移动的方法
- (IBAction)move:(UIButton *)sender;
//放大缩小
- (IBAction)zoom:(UIButton *)sender;
//旋转
- (IBAction)rotate:(UIButton *)sender;
@end
@implementation ViewController
//移动
// tag = 10 向上
// tag = 20 向左
// tag = 30 向下
// tag = 40 向右
- (IBAction)move:(UIButton *)sender {
// NSLog(@"改变前的transfrom - %@",NSStringFromCGAffineTransform(self.iconBtn.transform));
// self.iconBtn.transform = CGAffineTransformTranslate(self.iconBtn.transform, 0, -30);
//2. 修改结构内容
// 2.1 判断tag
NSInteger tag = sender.tag;
switch (tag) {
case 10:
self.iconBtn.transform = CGAffineTransformTranslate(self.iconBtn.transform, 0, -30);
break;
case 20:
self.iconBtn.transform = CGAffineTransformTranslate(self.iconBtn.transform, -30, 0);
break;
case 30:
self.iconBtn.transform = CGAffineTransformTranslate(self.iconBtn.transform, 0, 30);
break;
case 40:
self.iconBtn.transform = CGAffineTransformTranslate(self.iconBtn.transform, 30, 0);
break;
default:
break;
}
NSLog(@"改变后的transfrom --> %@",NSStringFromCGAffineTransform(self.iconBtn.transform));
}
//缩放
// tag = 50 放大
// tag = 60 缩小
- (IBAction)zoom:(UIButton *)sender {
NSLog(@"改变前的transfrom --> %@",NSStringFromCGAffineTransform(self.iconBtn.transform));
//1. 判断tag
//1.1 获取tag
NSInteger tag = sender.tag;
switch (tag) {
case 50://放大
// a d 代表的就是缩放中的东西
// 这里缩放是按照比例缩放
// 100% --> 1
// sx transfrom中的a -> 水平方向放大的比例 sy d 垂直方向
// self.iconBtn.transform = CGAffineTransformMakeScale(2, 2);
self.iconBtn.transform = CGAffineTransformScale(self.iconBtn.transform, 1.5, 1.5);
break;
case 60://缩小
self.iconBtn.transform = CGAffineTransformScale(self.iconBtn.transform, 0.5, 0.5);
break;
default:
break;
}
NSLog(@"改变后的transfrom --> %@",NSStringFromCGAffineTransform(self.iconBtn.transform));
}
//旋转
// tag = 70 向左旋转
// tag = 80 向右旋转
- (IBAction)rotate:(UIButton *)sender {
//1. 获取tag
NSInteger tag = sender.tag;
switch (tag) {
case 70: //向左旋转
// <#CGFloat angle#> 弧度
// 360度
// 圆的周长 2πr = 360度
// 2π = 360
// 用弧度代表旋转的角度
// π = 180
// 正负代表它的旋转方向
// 通常是顺时针-->钟表走的方向
// self.iconBtn.transform = CGAffineTransformMakeRotation(-M_PI_4);
self.iconBtn.transform = CGAffineTransformRotate(self.iconBtn.transform, -M_PI_4);
break;
case 80://向右旋转
self.iconBtn.transform = CGAffineTransformRotate(self.iconBtn.transform, M_PI_4);
break;
default:
break;
}
}
@end