美文网首页
UI基础2 UIview 父控件、子控件

UI基础2 UIview 父控件、子控件

作者: SoManyDumb | 来源:发表于2016-07-20 00:06 被阅读342次

    UIview

    • 什么事控件

      • 屏幕上的所有UI元素都见做控件(也有叫做视图、组件)
      • 比如按钮(UIbutton)、文本(UIlabel)都是控件
    • 空间的共同属性有哪些

      • 尺寸
      • 位置
      • 背景色
        .....
    • 苹果将空间的共同属性都抽取到父类UIView中

      • 所有的空间最终都集成自UIView
      • UIButton、UIbabel都是继承自UIView(在头文件中可以看到)
      • command + 鼠标左键点击 类名 进入头文件查看

    父控件、子控件

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

    UIView的常见属性

    @property(nonatomic,readonly) UIView *superview;
       // 获得自己的父控件对象
    
    @property(nonatomic,readonly,copy) NSArray *subviews;
      // 获得自己的所有子控件对象
    
    @property(nonatomic) NSInteger tag;
      // 控件的ID(标识),父控件可以通过tag来找到对应的子控件
    
    @property(nonatomic) CGAffineTransform transform;
      // 控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)
    
    (void)addSubview:(UIView *)view;
     // 添加一个子控件view
    
    (void)removeFromSuperview;
     // 从父控件中移除
    
    (UIView *)viewWithTag:(NSInteger)tag;
     // 根据一个tag标识找出对应的控件(一般都是子控件)
    
    @property(nonatomic) CGRect frame;
      // 控件矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)
    
    @property(nonatomic) CGRect bounds;
      // 控件矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x、y一般为0)
    
    @property(nonatomic) CGPoint center;
      // 控件中点的位置(以父控件的左上角为坐标原点)
    
    

    UIKit坐标系

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

    相关文章

      网友评论

          本文标题:UI基础2 UIview 父控件、子控件

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