#import "FXMAppDelegate.h"
@implementation FXMAppDelegate
//当应用程序完成加载是触发,做一些程序加载之后的操作.比如:让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.配置属性(比如backgrondColor修改背景颜色)
* 3.添加到父类视图上
* 4.释放所有权
* 父视图与子视图的关系:比如视图A添加到视图B上,视图B叫做视图A的父视图,视图A叫做视图B的子视图
* 切记:一个视图只能有一个父视图,但是可以有多个子视图.
*/
//创建一个视图
UIView *greenView = [[UIView alloc] initWithFrame:CGRectMake(200 , 200, 100, 100)];
//更改视图颜色
greenView.backgroundColor = [UIColor greenColor];
//添加到父类视图上
[self.window addSubview:greenView];
[greenView release];
//创建一个视图
UIView *yellowView = [[UIView alloc] initWithFrame:CGRectMake(100 , 300, 100, 100)];
//更改视图颜色
yellowView.backgroundColor = [UIColor yellowColor];
//添加到父类视图上
[self.window addSubview:yellowView];
[yellowView release];
//创建一个视图
UIView *redView = [[UIView alloc] initWithFrame:CGRectMake(0, 200, 100, 100)];
//更改视图颜色
redView.backgroundColor = [UIColor redColor];
//添加到父类视图上
[self.window addSubview:redView];
[redView release];
//1.创建一个视图blueView
UIView *cyanView = [[UIView alloc] initWithFrame:CGRectMake(110, 234, 100, 100)];
//2.更改视图的颜色
cyanView.backgroundColor = [UIColor cyanColor];
//3.将创建的视图blueView添加到self.window上面.
//当把一个视图添加到父视图之后,父视图会对子视图retain,保留一份所有权.
//添加到父类视图上直接添加到最前面
[self.window insertSubview:cyanView atIndex:0];
[cyanView release];
//cyanView.center获取中心点 center属性获取视图的中心点
//NSStringFormCGPoint将一个CGPoint类型的结构体变量转换为字符串类型.
NSLog (@"certer = %@",NSStringFromCGPoint(cyanView.center));
//视图的frame(属性)(视图的位置)
NSLog(@"frame = %@", NSStringFromCGRect(cyanView.frame));
//透明度alpha(0 - 1)当alpha为0时就相当于设置了hidden为YES隐藏了
cyanView.alpha = 0.5;
//显隐性hidden
cyanView.hidden = NO;//默认是NO不隐藏
//获取视图的父视图superView.
NSLog(@"superview = %@",cyanView.superview);
//获取视图的所有子视图subviews
//视图是以数组的形式管理所有子视图的,数组中视图的顺序和视图的添加顺序一致.
//后添加的视图如果和先添加的视图有重合的地方会将先添加的覆盖掉.
NSLog(@"subviews = %@",self.window.subviews);
//tag用于唯一标识一个视图(给定100以上的,100以下的系统很多都用过)
[self.window viewWithTag:100];
self.window.backgroundColor = [UIColor orangeColor];
//当前window成为主window,并且可视
[self.window makeKeyAndVisible];
return YES;
}
模拟器运行效果如下: