UIview
-
什么事控件
- 屏幕上的所有UI元素都見(jiàn)做控件(也有叫做視圖裳涛、組件)
- 比如按鈕(UIbutton)诀拭、文本(UIlabel)都是控件
-
空間的共同屬性有哪些
- 尺寸
- 位置
- 背景色
.....
-
蘋果將空間的共同屬性都抽取到父類UIView中
- 所有的空間最終都集成自UIView
- UIButton迁筛、UIbabel都是繼承自UIView(在頭文件中可以看到)
- command + 鼠標(biāo)左鍵點(diǎn)擊 類名 進(jìn)入頭文件查看
父控件、子控件
- 每個(gè)控件都是個(gè)容器耕挨,能容納其他控件
- 內(nèi)部小控件是大控件的子控件
- 大控件是內(nèi)部小控件的父控件
- 每一個(gè)控制器(UIViewController)內(nèi)部都有個(gè)默認(rèn)的UIView屬性
- @property(nonatomic,retain) UIView *view;
- 控制器中管理的其他所有控件都是這個(gè)view的子控件(直接或者間接)
UIView的常見(jiàn)屬性
@property(nonatomic,readonly) UIView *superview;
// 獲得自己的父控件對(duì)象
@property(nonatomic,readonly,copy) NSArray *subviews;
// 獲得自己的所有子控件對(duì)象
@property(nonatomic) NSInteger tag;
// 控件的ID(標(biāo)識(shí))细卧,父控件可以通過(guò)tag來(lái)找到對(duì)應(yīng)的子控件
@property(nonatomic) CGAffineTransform transform;
// 控件的形變屬性(可以設(shè)置旋轉(zhuǎn)角度尉桩、比例縮放、平移等屬性)
(void)addSubview:(UIView *)view;
// 添加一個(gè)子控件view
(void)removeFromSuperview;
// 從父控件中移除
(UIView *)viewWithTag:(NSInteger)tag;
// 根據(jù)一個(gè)tag標(biāo)識(shí)找出對(duì)應(yīng)的控件(一般都是子控件)
@property(nonatomic) CGRect frame;
// 控件矩形框在父控件中的位置和尺寸(以父控件的左上角為坐標(biāo)原點(diǎn))
@property(nonatomic) CGRect bounds;
// 控件矩形框的位置和尺寸(以自己左上角為坐標(biāo)原點(diǎn)贪庙,所以bounds的x蜘犁、y一般為0)
@property(nonatomic) CGPoint center;
// 控件中點(diǎn)的位置(以父控件的左上角為坐標(biāo)原點(diǎn))
UIKit坐標(biāo)系
- 在UIKit中,坐標(biāo)系的原點(diǎn)(0止邮,0)在左上角这橙,x值向右正向延伸,y值向下正向延伸