1、frame
可以修改组件的位置和尺寸
-(IBAction)moveAndBig:(UIButton *)btn
{
[UIView beginAnimations:nil context:nil];//开启动画效果
[UIView setAnimationDuration:2.0];//设置动画时间为2.0
CGRect tempFrame = self.head.frame;//获取head组件的frame
tempFrame.origin.x += 100;//frame 中点(左上角)的x轴向右移动100
tempFrame.origin.y += 100;//frame 中点(左上角)的y轴向下移动100
tempFrame.size.width +=10; //组件宽度增加10
tempFrame.size.height +=10;//组件高度增加10
self.head.frame=tempFrame; //将tempFrame赋值给组件的frame
[UIView commitAnimations];//关闭动画效果
}
frame是以左上角的点为基准,进行上下左右的移动.
self.head.frame.origin.y -= 10;//错误,oc语法规定,不允许直接修改对象的结构体属性的成员
2.center
可以修改组件的位置
CGPoint tempCenter = self.head.center;//通过center获取head的位置
tempCenter.y -= 100;
tempCenter.x -= 100;
self.head.center = tempCenter;
3、bounds可以通过bounds来修改组件的尺寸
CGRect tempBounds = self.head.bounds;
tempBounds.size.width += 100;
tempBounds.size.height += 100;
self.head.bounds = tempBounds;
4、transform
利⽤用transform属性可以修改控件的位移(位置)、缩放、旋转
- (IBAction)leftRotate {
// 1.取得头像按钮
UIButton *head = (UIButton *)[self.view viewWithTag:10];
// 2.向左旋转45°
// 45 180
// 角度是正数:顺时针, 角度是负数:逆时针
// head.transform = CGAffineTransformMakeRotation(-M_PI_4);
head.transform = CGAffineTransformRotate(head.transform, M_PI_4);
}
- (IBAction)up {
// 1.取得头像按钮
UIButton *head = (UIButton *)[self.view viewWithTag:10];
// 2.每次向上移动100的距离
// head.transform = CGAffineTransformMakeTranslation(0, -100);
head.transform = CGAffineTransformTranslate(head.transform, 0, -100);
}
- (IBAction)big {
// 1.取得头像按钮
UIButton *head = (UIButton *)[self.view viewWithTag:10];
// 2.增大
// head.transform = CGAffineTransformMakeScale(1.5, 1.5);
head.transform = CGAffineTransformScale(head.transform, 1.5, 1.5);
}
//注意:transform是以原来的位置为基准,所以使用要在原来的基础上进行叠加CGAffineTransform CGAffineTransformTranslate(CGAffineTransform t, CGFloat tx, CGFloat
ty);