// 创建一个和屏幕一般大的window
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// 给window一个背景颜色
self.window.backgroundColor = [UIColor colorWithRed:0.3 green:0.5 blue:0.5 alpha:1];
// 让当前window在应用程序中可见
self.window makeKeyAndVisible];
// 对window进行释放
[_window release];
// UIView
// 1.创建一个UIView对象
UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(90, 200, 200, 200)];
// 2.view1设置背景颜色
view1.backgroundColor = [UIColor cyanColor];
// 3.把视图放在窗口上
[self.window addSubview:view1];
// 4.释放
[view1 release];
// 视图添加到父视图的数组中后,数组会增加视图的引用计数,相应也就可以在添加之后对视图进行释放
// 一个父视图可以有无数个子视图, 一个视图只能有一个父视图
// 父视图
NSLog(@"%@", view2.superview);
// 子视图
NSLog(@"%@", self.window.subviews);
// 先创建,先添加到subview的视图会在层级关系的最下方
// 通过父视图来管理子视图的层级关系
// 放在最上边
[self.window bringSubviewToFront:view1];
// 放在最下边
[self.window sendSubviewToBack:view1];
// 用视图的frame属性,对视图大小进行重新设定
view1.Frame = CGRectMake(90, 300, 200, 200);
self.myView = [[UIView alloc] initWithFrame:CGRectMake(135, 350, 100, 100)];
self.myView.backgroundColor = [UIColor redColor];
[self.window addSubview:self.myView];
// 透明度
self.myView.alpha = 0.5;
// tag值,不能为0,不能重复,通过tag值可寻找当前window上的控件
self.myView.tag = 1000;
UIView *tempView = [self.window viewWithTag:1000];
NSLog(@"%@", tempView);