美文网首页iOS
UIView的transform属性

UIView的transform属性

作者: 多来猫 | 来源:发表于2017-12-05 11:11 被阅读291次
    transform属性作用:给我们的控件做一些形变,(平移,缩放,旋转)

    平移

    //右移100像素,下移20像素
    //每次移动都是相对于上次位置
     _redView.transform = CGAffineTransformTranslate(_redView.transform, 100, 20);
    //每次移动都是相对于最开始的位置
     _redView.transform = CGAffineTransformMakeTranslation(100, 20);
    

    缩放

    //横向缩放0.8,纵向缩放0.5
    //每次缩放都是相对于最初的大小
    _redView.transform = CGAffineTransformMakeScale(0.8, 0.5);
    //每次缩放都是相对于上次的大小
    _redView.transform = CGAffineTransformScale(_redView.transform, 0.5, 0.5);
    

    旋转

    //旋转90度
    // 每次旋转都是相对于最初的角度
    _redView.transform = CGAffineTransformMakeRotation(M_PI_4);
    //每次旋转都是相对于现在的角度
    _redView.transform = CGAffineTransformRotate(_redView.transform, M_PI_4);
    
    计算方式

    transform的结构如下

    struct CGAffineTransform {
      CGFloat a, b, c, d;
      CGFloat tx, ty;
    };
    

    在view上的像素坐标假设为(x,y),那么新的坐标为(xn,yn)计算如下:
    xn=ax+cy+tx;
    yn=bx+dy+ty;

    相关文章

      网友评论

        本文标题:UIView的transform属性

        本文链接:https://www.haomeiwen.com/subject/lmqibxtx.html