zoukankan      html  css  js  c++  java
  • 自我总结- CGAffineTransform

    在应用中我们经常需要做一些仿射变换 可以用于 平移、旋转、缩放变换路径;

    View有一个属性transform 可以指定一个 CGAffineTransform 即可完成仿射变换

    1.平移变换

    //  x方向移动一百 y不动
        CGAffineTransform transform= CGAffineTransformMakeTranslation(100,0);
    //  viewanmination是需要进行变换的View
        self.viewanmination.transform=transform
    //   系统提供了一个便利方法直接指定 两种方法效果一样
    
    //    CGAffineTransformTranslate(<#CGAffineTransform t#>, <#CGFloat tx#>, <#CGFloat ty#>)
    
    //    self.viewanmination.transform=CGAffineTransformTranslate(self.viewanmination.transform, 100, 0);

    2 缩放

    //x方向缩小0.5 y缩小0.5
        CGAffineTransform transt= CGAffineTransformMakeScale(0.5, 0.5);
        self.viewanmination.transform=transt;
        
       self.viewanmination.transform=CGAffineTransformScale(self.viewanmination.transform, 0.5, 0.5);

    3 旋转

    //输入需要旋转的角度
        CGAffineTransform trans=CGAffineTransformMakeRotation(M_PI_4);
        self.viewanmination.transform=trans;
        self.viewanmination.transform=CGAffineTransformRotate(self.viewanmination.transform, M_PI_4);

    当然这三种效果也可以组合着用 需要借助CGAffineTransformIdentity 这个理解为初始化即可 如下代码实现了旋转和缩放

        
    //初始化坐标
        CGAffineTransform trans=CGAffineTransformIdentity;
    //旋转;
        trans=CGAffineTransformRotate(trans, M_PI_4);
    // 缩放
        trans=CGAffineTransformScale(trans, 0.5, 0.4);
        self.viewanmination.transform=trans;
  • 相关阅读:
    Kafka2.0服务端写入和读取流程
    Kafka2.0服务端启动源码
    Kafka2.0消费者协调器源码
    Kafka2.0消费者客户端源码分析
    [六省联考2017]分手是祝愿 题解(期望dp)
    [信息学奥赛一本通oj1741]电子速度 题解
    [CSP-S模拟测试53]题解
    [CSP-S模拟测试52]题解
    [CSP-S模拟测试ex]题解
    [CSP-S模拟测试51]题解
  • 原文地址:https://www.cnblogs.com/luguojiangshi/p/5302040.html
Copyright © 2011-2022 走看看