• Hello_IOS ios开发transform属性


    #import "ViewController.h"
    
    @interface ViewController ()
    @property (weak, nonatomic) IBOutlet UIImageView *imageV;
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
    }
    
    - (IBAction)moveUp:(id)sender {
        //平移
        [UIView animateWithDuration:0.5 animations:^{
            //使用Make,它是相对于最原始的位置做的形变.不累加形变,且多次点击只形变一次
            //self.imageV.transform = CGAffineTransformMakeTranslation(0, -100);
            //相对于上一次做形变.初始值self.imageV.transform为0,多次点击,会自动在上一次形变的基础上做平移
            self.imageV.transform = CGAffineTransformTranslate(self.imageV.transform, 0, -100);
        }];
        
    }
    - (IBAction)moveDown:(id)sender {
        
        //平移
        [UIView animateWithDuration:0.5 animations:^{
            //使用Make,它是相对于最原始的位置做的形变.
            //self.imageV.transform = CGAffineTransformMakeTranslation(0, -100);
            //相对于上一次做形变.
            self.imageV.transform = CGAffineTransformTranslate(self.imageV.transform, 0, 100);
        }];
    }
    
    - (IBAction)rotation:(id)sender {
        
        [UIView animateWithDuration:0.5 animations:^{
            
            //旋转(旋转的度数, 是一个弧度),M_PI_4,_下划线表示一个除号/
            //self.imageV.transform = CGAffineTransformMakeRotation(M_PI_4);
            
            self.imageV.transform = CGAffineTransformRotate(self.imageV.transform, M_PI_4);
            
        }];
        
    }
    - (IBAction)scale:(id)sender {
        
        
        [UIView animateWithDuration:0.5 animations:^{
            
           //缩放
            //self.imageV.transform = CGAffineTransformMakeScale(0.5, 0.5);
            self.imageV.transform = CGAffineTransformScale(self.imageV.transform, 0.8, 0.8);
            
           
        }];
        
        
    }
    
    /**
     *    总结:
     
     1:平移:transform是结构体,定义一个transform:CGAffineTransform form
     
     //使用Make,它是相对于最原始的位置做的形变.不累加形变,且多次点击只形变一次
     //self.imageV.transform = CGAffineTransformMakeTranslation(0, -100);
     //相对于上一次做形变.初始值self.imageV.transform为0,多次点击,会自动在上一次形变的基础上做平移
     self.imageV.transform = CGAffineTransformTranslate(self.imageV.transform, 0, -100);
     
     
     2:旋转:
     //旋转(旋转的度数, 是一个弧度),M_PI_4,_下划线表示一个除号/
     //self.imageV.transform = CGAffineTransformMakeRotation(M_PI_4);
     
     self.imageV.transform = CGAffineTransformRotate(self.imageV.transform, M_PI_4);
     
     
     3:缩放:
     //缩放
     //self.imageV.transform = CGAffineTransformMakeScale(0.5, 0.5);
     self.imageV.transform = CGAffineTransformScale(self.imageV.transform, 0.8, 0.8);
     
     
     4:清空形变属性:
       CGAffineTransform form = CGAffineTransformIdentity;
       self.imageV.transform = form;
     
     
     5:1:在实际开发中,使用场景:1:当涉及一些frame的改变或是形变的时候可以用transform来取代frame 2:一般在实际开发中都是平移,旋转缩放混合使用。
     
     */
    
    @end
  • 相关阅读:
    MySQL数据库索引相关
    springMVC架构说明
    @responseBody注解的使用
    springMVC配置
    17_10_31 ./ ../ / ~/
    Nginx的简单操作
    MySQL中sql语句的优化
    Mac下Redis的简单操作
    github下载与安装(windows版)
    结合工程实践选题调研分析3个同类软件产品
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/5949487.html
Copyright © 2020-2023  润新知