控件
- 控件:屏幕上的所有UI元素都叫做控件(视图、组件)
- 控件的共同属性(苹果将控件的共同属性都抽取到父类UIView中)
- 尺寸
- 位置
- 背景色
- 所有的控件最终都继承自UIView
- UIButton/UILabel/UIScrollView等都是继承自UIView
- 凡是继承UIView的都是控件
- 父控件、子控件
- 每个控件都是一个容器,能够容纳其他控件
- 每个控制器内部都默认有一个UIView属性
- 控制器中管理其他所有控件的都是这个view的子控件(直接|间接)
- 内部小控件是大控件的子控件
- 大控件是内部小控件的父控件
UIView的常见属性
- superview :获取自己的父控件对象,只会生成get方法 UIView * superview
- subviews : 获取自己的所有子控件对象 NSArray*subviews
- tag : 控件的ID标识,父控件可以通过tag找到对应的子控件 NSInteger tag
- transform : 控件的形变属性(旋转角度、比例缩放、平移属性的设置) CGAffineTransform transform
UIView的常见方法
- addSubview : 添加子控件的view
- removeFromSuperview : 将方法的调用者从父控件中移除
- viewWithTag : 根据一个tag标识找出对应的控件
- 遍历所有子控件,找到匹配的tag,一般是找子控件
- 作用1:找到子控件
- 作用2:区分子控件
UIView 位置和尺寸
- frame: 控件矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)
- bounds :控件矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x、y一般为0)
- center : 控件中点的位置(以父控件的左上角为坐标原点)
- UIKit 坐标系 : 在UIKit中,坐标系原点(0,0)在左上角,x值向右正向延伸,y值向下正向延伸
补充
- viewDidLoad :当控制器的view加载完毕后调用,只会调用一次
- touchesBegan : 当点击控制器view的时候回自动调用