zoukankan      html  css  js  c++  java
  • CGAffineTransformMakeTranslation和CGAffineTransform

    摘要: CGAffineTransformMakeTranslation和CGAffineTransformTranslate的区别

    1.CGAffineTransformMakeTranslation每次都是以最初位置的中心点为起始参照

       CGAffineTransformTranslate每次都是以传入的transform为起始参照

       CGAffineTransformIdentity为最初状态,即最初位置的中心点

    2.3个按钮,bt1,bt2,bt3,bt1和bt2控制bt3的移动

    - (IBAction)bt1clicked:(id)sender {

        self.bt3.transform = CGAffineTransformMakeTranslation(10, 0);

    }

    - (IBAction)bt2clicked:(id)sender {

        //self.bt3.transform = CGAffineTransformTranslate(CGAffineTransformIdentity, 10, 0);

        self.bt3.transform = CGAffineTransformTranslate(self.bt3.transform, 10, 0);

    }

    点击bt1,第一次移动10个像素,以后都是以最初位置的中心点为起始参照,所以后续bt1无论点击多少次,按钮都在初始位置偏移10个像素的位置不动

    点击bt1一次,再点击bt2一次,偏移20像素,点击bt2时,上一次按钮点击的偏移作为这次的参照

    只点击bt2一次,偏移10个像素

    不断点击bt2,bt3不断偏移10个像素

     

    bt2clicked的第一句不注释:

    第一次点击bt2,bt3偏移20,后续再点击,永远再第一次点击后的位置,再点击bt1,回到初始偏移10的位置(往回走了10)

    点击bt1,偏移10,再点击bt2,在bt1点击基础上再偏移10,后续再点击不动( CGAffineTransformTranslate(CGAffineTransformIdentity, 10, 0);每次都是从最初位置开始偏移)

  • 相关阅读:
    功能工作第五天终于有点眉目了
    SSM上传图片并保存图片地址到数据库
    基于Maven搭建SSM框架eclipese版本
    菜鸟初到公司应该准备的开发环境
    IDEA+Maven+SSM框架实现的简单的增、删、改、查
    如何在IDEA 中使用Git
    maven-ssm项目整合
    关于线程的知识模块
    百度地图api,使用QT同时绘制多个标注
    win10系统QT5下配置opencv教程
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/5949481.html
Copyright © 2011-2022 走看看