什么是控件?
屏幕上的所有UI元素都叫做控件,也有人叫做视图、组件,按钮(UIButton)、文本(UILabel)都是控件。
苹果将控件的共同属性都抽取到父类UIView中
所有的控件最终都继承自UIView
UIButton、UILabel都是继承自UIView
父控件、子控件
•每个控件都是个容器,能容纳其他控件
•内部小控件是大控件的子控件
•大控件是内部小控件的父控件
UIView的常见属性
每一个控制器(UIViewController)内部都有个默认的UIView属性
@property(nonatomic,readonly)UIView*superview;
获得自己的父控件对象
@property(nonatomic,readonly,copy)NSArray*subviews;
获得自己的所有子控件对象
@property(nonatomic)NSIntegertag;
控件的ID(标识),父控件可以通过tag来找到对应的子控件
@property(nonatomic)CGAffineTransformtransform;
控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)
@property(nonatomic,retain)UIView*view;
-控制器中管理的其他所有控件都是这个view的子控件(直接或者间接)
- (void)addSubview:(UIView*)view;
添加一个子控件view
- (void)removeFromSuperview;
从父控件中移除
- (UIView*)viewWithTag:(NSInteger)tag;
根据一个tag标识找出对应的控件(一般都是子控件)
@property(nonatomic)CGRectframe;
控件矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)
@property(nonatomic)CGRectbounds;
控件矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x、y一般为0)
@property(nonatomic)CGPointcenter;
控件中点的位置(以父控件的左上角为坐标原点)