UIView常見屬性詳解,uiview詳解
上篇大體介紹了一些空間的常見屬性,本篇主要介紹一下UIVIew的常見屬性.
首先引入上一篇介紹的UIView的常見屬性:
//控制項所在矩形框在父控制項中的位置和尺寸(以父控制項的左上方為座標原點)@property(nonatomic) CGRect frame;//控制項所在矩形框的位置和尺寸(以自己左上方為座標原點,所以bounds的x\y一般為0)@property(nonatomic) CGRect bounds;//控制項中點的位置(以父控制項的左上方為座標原點)@property(nonatomic) CGPoint center;//控制項的形變屬性(可以設定旋轉角度、比例縮放、平移等屬性@property(nonatomic) CGAffineTransform transform;
想瞭解這幾個常用的屬性,首先要知道:在UIKit中,座標系的原點(0,0)在左上方,x值向右正向延伸,y值向下正向延伸,如所示
@property(nonatomic) CGRect frame;
struct CGRect { CGPoint origin; CGSize size;};typedef struct CGRect CGRect;
CGRect是一個結構體,它有origin和size屬性.而origin是一個CGPoint,是一個點,它又有兩個屬性為X/Y,代表位置.
size是一個CGSize,它有兩個屬性為Width/Height,代表寬高.
frame屬性是描述當前視圖在父視圖中的位置和尺寸
所以按鈕的frame屬性的參照點是父視圖(新添加的view),以父視圖的左上方為座標原點.
@property(nonatomic) CGRect bounds;
以控制項所在矩形框的位置和尺寸(以自己左上方為座標原點,所以bounds的x\y一般為0)與frame的主要區別也就在於此.
@property(nonatomic) CGPoint center;
控制項中點的位置(以父控制項的左上方為座標原點):是一個CGPoint,只有x/y屬性.
@property(nonatomic) CGAffineTransform transform;
控制項的形變屬性(可以設定旋轉角度、比例縮放、平移等屬性)
總結:
修改控制項的位置可以使用:frame\center\transform
修改控制項的大小可以使用:frame\bounds\transform