zoukankan      html  css  js  c++  java
  • iOS开发之transform

    transform主要应用于动画

    1、让一个按钮每次向上移动100的距离

    UIButton *head = (UIButton *)[self.view viewWithTag:10];

    head.transform = CGAffineTransformTranslate(head.transform, 0, -100);

    transform是一个状态,并不能改变控件的真实位置(以起始位置为参照,起始位置为(0,0),即真实位置为(0,0)),如果使用CGAffineTransformMakeTranslation(0, -100)就会返回控件在真实位置上向上移动100像素后的状态,但真实位置不会改变,当第二次执行head.transform = CGAffineTransformMakeTranslation (0, -100)就不会再有变化了,因为控件已经在这个状态了。

    2、使按钮旋转

    UIButton *head = (UIButton *)[self.view viewWithTag:10];

    // M_PI_4即4分之pi角度——45°

    // 角度是正数:顺时针, 角度是负数:逆时针

    head.transform = CGAffineTransformRotate(head.transform, M_PI_4);

    当旋转后它的起始x和y坐标也会跟着旋转。同样也不能使用head.transform = CGAffineTransformMakeRotation(-M_PI_4),原因同上

    3、使按钮缩放

    UIButton *head = (UIButton *)[self.view viewWithTag:10];

    head.transform = CGAffineTransformScale(head.transform, 1.5, 1.5);

    同样也不能使用head.transform = CGAffineTransformMakeScale(1.5, 1.5),原因同上

  • 相关阅读:
    springboo 添加logback日志
    logback配置日志输出
    认知升级:提升理解层次的NLP思维框架
    2019第29周日
    《如何有效社交》晨读笔记
    控制论模型&心流模型&波模型
    数学中常见的思维模型
    分布式服务跟踪系统
    Spring Cloud Sleuth
    微服务调用跟踪
  • 原文地址:https://www.cnblogs.com/lifengfneg/p/4773807.html
Copyright © 2011-2022 走看看