首先,UI中常用的UIwindow.UILabel.UIButton.UITextField属于UIView的子类.UITextField和UILabel和UIwindow自身没有初始化方法,需要使用父类的UIView的初始化方法initWithframe,UIbutton有自己的初始化方法buttonWithType:<#(UIButtonType)#>.因为UITextField和UILabel和UIWindow都需要alloc,所以它们都需要release方法,而UIButton则不需要.

 

UIWindow属于窗口类.它的大小一般和主屏幕大小一致.

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

 

UIView  视图类

以UIView为例说明:

- (instancetype)initWithFrame:(CGRect)frame;

 

struct CGRect {

  CGPoint origin;

  CGSize size;

};

 

 

 

 

struct CGPoint {

  CGFloat x;

  CGFloat y;

};

typedef struct CGPoint CGPoint;

 

struct CGSize {

  CGFloat width;

  CGFloat height;

};

typedef struct CGRect CGRect;

 

 

 

CG_INLINE CGPoint CGPointMake(CGFloat x, CGFloat y);

 

 

 

CG_INLINE CGSize CGSizeMake(CGFloat width, CGFloat height);