UIView的transform属性

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;

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容