窗口与视图的基本概念

一、UIWindow

1.UIWindow和UIView的关系

(1)UIWindow是UIView的一个子类,提供视图的显示区域;

(2)UIWindow继承自UIView,包含应用程序的可视区域。

2.UIWindow的创建

    //1.获取屏幕尺寸

    UIScreen *screen=[UIScreen mainScreen]; CGRect rect=screen.bounds; //2.创建窗口,并铺满整个屏幕

    self.window=[[UIWindow alloc] initWithFrame:rect]; //3.给窗口添加背景色

    self.window.backgroundColor=[UIColor colorWithRed:1.0 green:1.0 blue:0.0 alpha:1.0]; // self.window.backgroundColor=[UIColor whiteColor]; //4.显示窗口

    [self.window makeKeyAndVisible];

 

二、iOS坐标系统

1.创建视图View

    //创建视图v0,v0作为UIWindow的子视图

    UIView *v0=[[UIView alloc] initWithFrame:CGRectMake(50, 50, 200, 200)]; v0.backgroundColor=[UIColor blueColor]; [self.window addSubview:v0]; //创建视图v1,v1作为UIWindow的子视图

    UIView *v1=[[UIView alloc] initWithFrame:CGRectMake(100, 100, 200, 200)]; v1.backgroundColor=[UIColor redColor]; [self.window addSubview:v1]; //创建视图v2,v2作为UIWindow的子视图

    UIView *v2=[[UIView alloc]initWithFrame:CGRectMake(150, 150, 200, 200)]; v2.backgroundColor=[UIColor greenColor]; [self.window addSubview:v2];

2.frame、bounds、center的关系

frame:表示视图在父视图的坐标系统里的位置和大小。

bounds:表示视图在本身的坐标系统里的位置和大小。

center:表示视图在父视图的坐标系统里的中点位 置。

注:改变其中一个属性会影响其它两个。

 

    v2.frame = CGRectMake(0, 0, 200, 200); // v1.center = CGPointMake(100, 100); // v1.bounds = CGRectMake(0, 0, 200, 200); // v1.frame = CGRectMake(200, 200, 10, 200);

 

 

你可能感兴趣的:(视图)