在iOS中,我们是不可以直接访问控件中frame的结构体的成员的,因此我们需要分三步来改变一个UI控件的位置,大小
一.frame用法
frame的结构体类型为:
struct CGRect {
CGPoint origin;
CGSize size;
};
定义中间变量接收,然后赋值
//得到button控件的frame赋值为自定义变量
CGRect frame= self.btnImage.frame;
//修改结构体变量
frame.origin.y-=10;
//重新赋给button的frame
self.btnImage.frame=frame;
二,transform的常用用法,
下面两个方法是相对于控件原始位置进行改变的,不能进行连续改变
//放大或者缩小
CGAffineTransformMakeScale(<#CGFloat sx#>, <#CGFloat sy#>);
//上下左右移动
CGAffineTransformMakeTranslation(<#CGFloat tx#>, <#CGFloat ty#>);
下面的方法可以连续改变
//上下左右移动
btn.transform=CGAffineTransformTranslate(btn.transform, 10, 0);
btn.transform=CGAffineTransformTranslate(btn.transform, 0, +10);
btn.transform=CGAffineTransformTranslate(btn.transform, -10, 0);
//旋转
btn.transform=CGAffineTransformRotate(btn.transform, M_PI_4);
btn.transform=CGAffineTransformRotate(btn.transform, -M_PI_4);
btn.transform=CGAffineTransformRotate(btn.transform, -M_PI_4);
//复位
btn.transform=CGAffineTransformIdentity;
//放大或者缩小
btn.transform=CGAffineTransformScale(btn.transform, 1.2, 1.2);
btn.transform=CGAffineTransformScale(btn.transform, -0.8, -0.8);