//当应用程序完成加载时触发, 做一些程序加载之后的操作, 比如: 让window可视
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
/**
* UIView表示屏幕上的一块矩形区域, 在屏幕上看到的内容都是UIView或UIView的子类, UIView是一个基类,提供了关于视图的展示, 管理, 以及层次关系的基本功能
视图的使用分四个步骤:
1 创建视图对象
2 配置属性比如(backgroundColor修饰背景颜色)
3 添加到父视图上
4 释放所有权
父视图和子视图的关系: 比如视图A和视图B上, 视图B就叫做视图A的父视图, 视图A就叫做视图B的子视图
牢牢谨记: 一个视图只能有一个父视图, 但是可以有多个子视图
*/
UIView *blueView = [[UIView alloc] initWithFrame:CGRectMake(110, 100, 100, 100)];
//更改视图的颜色
blueView.backgroundColor = [UIColor blueColor];
//将blueView添加到self.window上
[self.window addSubview:blueView];
//当把子视图添加到父视图上之后, 父视图会对子视图retain, 保留一份所有权
[blueView release];
//创建视图
UIView *greenView = [[UIView alloc] initWithFrame:CGRectMake(110, 250, 100, 100)];
//设置视图属性
greenView.backgroundColor = [UIColor greenColor];
//添加到父视图
[self.window addSubview:greenView];
//释放所有权
[greenView release];
UIView *grayView = [[UIView alloc] initWithFrame:CGRectMake(110, 400, 100, 100)];
grayView.backgroundColor = [UIColor grayColor];
[self.window addSubview:grayView];
[grayView release];
UIView *leftVIew = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 50, 50)];
leftVIew.backgroundColor = [UIColor yellowColor];
[self.window addSubview:leftVIew];
[leftVIew release];
UIView *rightView = [[UIView alloc] initWithFrame:CGRectMake(250, 20, 50, 50)];
rightView.backgroundColor = [UIColor yellowColor];
[self.window addSubview:rightView];
[rightView release];
UIView *middenView = [[UIView alloc] initWithFrame:CGRectMake(110, 568/2.0 - 50, 100, 100)];
middenView.backgroundColor = [UIColor orangeColor];
[self.window addSubview:middenView];//直接添加
//tag 用于唯一标识一个视图(最好给定100以上)
middenView.tag = 100;
// [self.window insertSubview:middenView atIndex:0];
// self.window insertSubview:middenView aboveSubview:<#(UIView *)#>
[middenView release];
//通过父视图以及tag值来获取对应的子视图
[self.window viewWithTag:100];
//NSStringFromCGPoint将一个CGPoint类型的结构体变量转为字符串类型
NSLog(@"middenView.center:%@", NSStringFromCGPoint(middenView.center));
//视图的frame NSStringFromCGRect将一个CGRect类型的结构体变量转为字符串类型
NSLog(@"middenView.center:%@", NSStringFromCGRect(middenView.frame));
//透明度alpha
middenView.alpha = 0.5;
//显隐性 hidden
middenView.hidden = NO;
//获取视图的父视图
NSLog(@"middenView.superview:%@",middenView.superview);
//获取视图的所有的子视图
//视图是以数组的形式管理子视图的, 数组中的视图的顺序和视图添加的顺序一致
//后添加的视图若和先前添加的视图有重合的地方会将先添加的视图给覆盖掉
NSLog(@"self.window.suberview:%@",self.window.subviews);
UIView *boVIew = [[UIView alloc] initWithFrame:CGRectMake(30, 520, 260, 20)];
boVIew.backgroundColor = [UIColor lightGrayColor];
[self.window addSubview:boVIew];
[boVIew release];
self.window.backgroundColor = [UIColor purpleColor];
NSLog(@"%@", self.window);
//让当前window成为主window并且可视
[self.window makeKeyAndVisible];
return YES;
}