什么是UIView

  • UIView可以称之为控件/视图
  • 屏幕上所有能看到的东西都是UIView
  • 按钮(UIButton)、文本(UILabel)都是控件
  • 控件都有一些共同的属性

    -- 尺寸

    -- 位置

    -- 背景色......
  • 苹果将拥有共同属性的控件对象抽取出了UIView类,所有的控件均继承自UIView类

    UIView的概念与使用-LMLPHP

父控件与子控件

  • 每一个控件其实都是一个容器,可以将其他控件放到该控件的内部
  • 比如说将A控件放入B控件

    -- 那么A控件就是B控件的子控件,B控件是A控件的父控件
  • 每一个控制器都有一个UIView

    -- 控制器本身是不可见,能够看到的是控制器的View

    -- 每一个控制器中都一个UIVIew的属性,控制器中管理的所有子控件都是该UIView控件的子控件

UIView的常见属性与方法

  • 常见属性
@property(nonatomic,readonly) UIView *superview;
//获得自己的父控件对象
@property(nonatomic,readonly,copy) NSArray *subviews;
//获得自己的所有子控件对象
@property(nonatomic) CGAffineTransform transform;
//控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)
@property(nonatomic) NSInteger tag;
//控件的ID(标识),父控件可以通过tag来找到对应的子控件
  • 常见方法
-(void)addSubview:(UIView *)view;
//添加一个子控件view
-(void)removeFromSuperview;
//将自己从父控件中移除
-(UIView *)viewWithTag:(NSInteger)tag;
//根据一个tag标识找出对应的控件(一般都是子控件)

UIKit坐标系

  • 在UIKit中,坐标系的原点(0,0)在左上角,x值向右正向延伸,y值向下正向延伸

    UIView的概念与使用-LMLPHP
  • UIView中与之相关的属性
@property(nonatomic) CGRect frame;
//控件矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)
@property(nonatomic) CGRect bounds;
//控件矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x、y一般为0)
@property(nonatomic) CGPoint center;
//控件中点的位置(以父控件的左上角为坐标原点)
05-28 09:07