IOS-UI控件继承关系及结构

IOS-UI控件继承关系及结构_第1张图片
Paste_Image.png

IOS-UI控件继承关系及结构_第2张图片
Paste_Image.png
  • 1都继承了UIView
    所以所有控件都可以addsubview另一个控件
    还能继承UIView的所有方法,与属性。

    tag、frame、alpha、背景颜色······
  • 2UIControl的子类能移动和点击。
  • 3可以自定义控件
    可以为控件增加属性和自定义样式
    UITextfield不可以换行
    UITextView没有PlaceHolder
    所有空间都是UI
    控件可以交互
  • 1三个结构体 CGPoint、CGSize、CGRect
      1. CGPoint(坐标)

struct CGPoint {
CGFloat x;
CGFloat y;
};

typedef struct CGPoint CGPoint;
看到这个想必你已经懂了,不再解释。

    1. CGSize(大小)

struct CGSize {
CGFloat width;
CGFloat height;
};

typedef struct CGSize CGSize;
不解释。

3.CGRect(point和size的组合)

struct CGRect {
CGPoint origin; //偏移是相对父视图的
CGSize size;
};
typedef struct CGRect CGRect;
同样 不解释。
结构体的关键字是struct
frame是cgpoint和cgrect的组合结构体
通过addsubview方法添加的视图,越晚添加越放在上层。
这三个结构体均在一个头文件里:CGGeometry.h
center是view的中间
2)视图的最基本属性

frame和center都是相对于父视图的,bounds是相对于自身的

frame 是CGRect frame的origin是相对于父视图的左上角原点(0,0)的位置,改变视图的frame会改变center

center 是CGPoint 指的就是整个视图的中心点,改变视图的center也会改变frame

bounds 是CGRect 是告诉子视图本视图的原点位置(通俗的说就是,子视图的frame的origin与父视图的bounds的origin的差,就是子视图相对于父视图左上角的位置,如果结果为负,则子视图在父视图外)

frame子view在父view中的大小
bounds是参照自身的大小。

通过addSubview:这个方法添加子类,不管谁添加它,只要越晚添加,视图就在越上层

移除父视图也会把它得子视图移除

你可能感兴趣的:(IOS-UI控件继承关系及结构)