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;
  • 相关阅读:
    自定义 alert 弹窗
    js控制div内的滚动条的位置
    vue 的 起手式
    d3.js封装文本实现自动换行和旋转平移等功能
    redux
    mui 本地打包
    vue-router 运行机制 及 底层原理
    替代 Navigator 组件
    react-native 创建 ios 项目
    三元运算符
  • 原文地址:https://www.cnblogs.com/luguojiangshi/p/5302040.html
Copyright © 2011-2022 走看看