iOS transform的使用(图片放大缩小旋转)

//

//  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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值