transform属性
利用transform属性可以修改控件的位移(位置)、缩放、旋转
1:创建一个transform属性
CGAffineTransform CGAffineTransformMakeTranslation(CGFloat tx, CGFloat ty) ;
CGAffineTransform CGAffineTransformMakeScale(CGFloat sx, CGFloat sy);
CGAffineTransform CGAffineTransformMakeRotation(CGFloat angle)
(angle是弧度制,并不是角度制)
2:在某个transform的基础上进行叠加
CGAffineTransform CGAffineTransformTranslate(CGAffineTransform t, CGFloat tx, CGFloat ty);
CGAffineTransform CGAffineTransformScale(CGAffineTransform t, CGFloat sx, CGFloat sy);
CGAffineTransform CGAffineTransformRotate(CGAffineTransform t, CGFloat angle);
3:清空之前设置的transform属性
view.transform = CGAffineTransformIdentity;
4:代码示例控件的位移(位置)、缩放、旋转
@implementation ViewController
/**
* 向上移动
*/
- (IBAction)upmove {
//1:获得button,注意 viewWithTage会一层一层往下找
UIButton *headBtn = (UIButton *)[self.view viewWithTag:10];
//2 平移向上走
//transform 形变属性,每一次都跟第一次比较
//headBtn.transform = CGAffineTransformMakeTranslation(0, -50);//这个只能动一次,因为transform是一种状态,每一次都跟第一次比较
//用下面这种方法随时赋新值
headBtn.transform = CGAffineTransformTranslate(headBtn.transform, 0, -50);
}
/**
* 旋转
*/
- (IBAction)rightRotate {
//1:获得button,注意 viewWithTage会一层一层往下找
UIButton *headBtn = (UIButton *)[self.view viewWithTag:10];
//2:向右旋转
headBtn.transform = CGAffineTransformRotate(headBtn.transform, M_PI_4);
}
/**
* 缩放
*/
- (IBAction)suofang {
//1:获得button,注意 viewWithTage会一层一层往下找
UIButton *headBtn = (UIButton *)[self.view viewWithTag:10];
//2:缩放
headBtn.transform = CGAffineTransformScale(headBtn.transform, 1.5, 1.5);
}
@end