UIView

作者: heckapple | 来源:发表于2016-08-13 18:18 被阅读2次

    UIView的认识

    • UIView是一个控件来自于UIKit框架 UI里面为UI视图 我们可以看得见摸得着的东西
    • 屏幕上的所有UI元素都叫做控件(也有叫做视图、组件)
    • 比如按钮(UIButton)、文本(UILabel) 图片(UIImage)都是控件
    • 所有的视图控件都继承于UIView 因此他们有一些共同的属性

    控件的共同属性

    • 尺寸
    • 位置
    • 背景色
    • ......

    父控件子控件的认识

    • 每个控件都是个容器,能容纳其他控件
    • 内部小控件是大控件的子控件
    • 大控件是内部小控件的父控件
    • 每一个控制器(UIViewController)内部都有个默认的UIView属性
    @property(nonatomic,retain) UIView *view;
    
    • 控制器中管理的其他所有控件都是这个view的子控件(直接或者间接)

    UIView的常见属性

    • 获得自己的父控件对象
    @property(nonatomic,readonly) UIView *superview;
    
    • 获得自己的所有子控件对象
    // 数组元素的顺序决定着子控件的显示层级顺序(下标越大的,越显示在上面)
    @property(nonatomic,readonly,copy) NSArray *subviews;
    
    • 控件的ID(标识),父控件可以通过tag来找到对应的子控件
    @property(nonatomic) NSInteger tag;
    
    • 控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)
    @property(nonatomic) CGAffineTransform transform;
    
    • 控件矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)
    @property(nonatomic) CGRect frame;
    
    • 控件矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x、y一般为0)
    @property(nonatomic) CGRect bounds;
    
    • 控件中点的位置(以父控件的左上角为坐标原点)
    @property(nonatomic) CGPoint center;
    

    UIView的常见方法

    • 添加一个子控件view
    //使用这个方法添加的子控件会被塞到subviews数组的最后面
     - (void)addSubview:(UIView *)view;
    
    • 从父控件中移除
     - (void)removeFromSuperview;
    
    • 根据一个tag标识找出对应的控件(一般都是子控件)
     - (UIView *)viewWithTag:(NSInteger)tag;
    
    • 将子控件view插入到subviews数组的index位置
     - (void)insertSubview:(UIView *)view atIndex:(NSInteger)index;
    
    • 将子控件view显示到子控件siblingSubview的下面
     - (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview;
    
    • 将子控件view显示到子控件siblingSubview的上面
     - (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview;
    
    • 将子控件view放到数组的最后面,显示在最上面
     - (void)bringSubviewToFront:(UIView *)view;
    
    • 将子控件view放到数组的最前面,显示在最下面
     - (void)sendSubviewToBack:(UIView *)view;
    

    UIKit坐标系

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

    相关文章

      网友评论

        本文标题:UIView

        本文链接:https://www.haomeiwen.com/subject/ftfysttx.html