美文网首页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