在IOS的UI开发中,可以通过更改控件的frame、bounds、center和transform属性来更改控件的位置,frame:位置/尺寸 bounds:尺寸 center:位置 transform:位置/尺寸/旋转
一、利用结构体frame假设创建了一个按钮,UIButton *btn=[[UIButton alloc]init];IOS的UI中不能单独修改控件的属性,控件的位置信息保存在控件的frame结构体中,修改属性分三个步骤:
//1.获取frame
CGRect tmpFrame = self.head.frame;
//2.更改frame的左上角点的坐标,和控件的高度和宽度
tmpFrame.origin.x += 10;
tmpFrame.origin.y += 10;
tmpFrame.size.height += 10;
tmpFrame.size.width += 10;
//3.赋值
self.head.frame = tmpFrame;
二、bounds和center的处理方法跟frame类似,故不再累述,详情可以查看xcode的.h文件
三、transform可以更改位置/尺寸/旋转
//在不声明为属性的情况下获取到控件,需要给控件的tag赋值,如果tag值有重复,则获取到最先创建的控件
UIButton *head = (UIButton *)[self.view viewWithTag:10];
//transform更改属性的方法有两种,一种只改变一次,另一种可以多次更改
//比如向上移动
//1.获取控件
UIButton *head = (UIButton *)[self.view viewWithTag:10];
//2.每次向上移动
head.transform = CGAffineTransformMakeTranslation(0,-100);//只向上移动一次
head.transform = CGAffineTransformTranslate(head.transform,0,-100);//移动多次
//其他变化
//缩放的关键字是Scale,参数为double类型的数字,代表缩放的倍数
//旋转的关键字是Rotate,参数一般用宏定义,比如M_PI_4,就代表45°,正数代表顺时针旋转,负数表示逆时针