#pragma mark - 程序启动的时候执行的方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
#pragma mark - 创建UIWindow的步骤------ 相当于画板
//1、创建画板(Window)
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];//[UIScreen mainScreen].bounds;------ 获取屏幕的大小
//2、设置Window的一些相关的属性
self.window.backgroundColor = [UIColor cyanColor];
//3、显示画板(Window)
[self.window makeKeyAndVisible];
/*一、UIView*/
/*
#pragma mark - 创建UIView的步骤------ 相当于画纸---最好不要对window做太多操作,所以最好创建一个和Window大小一样的View直接贴在window上,以后的对控件的操作都在这个View上进行
//1、开辟空间,并且初始化
UIView *aView = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
//2、设置相关属性
aView.backgroundColor = [UIColor redColor];
//3、添加到window上面
[self.window addSubview:aView];
*/
//背景视图
UIView *backgroundView = [[UIView alloc]initWithFrame:[UIScreen mainScreen].bounds];
backgroundView.backgroundColor = [UIColor yellowColor];
[self.window addSubview:backgroundView];
//创建子视图
/*
UIView *viewA = [[UIView alloc]initWithFrame:CGRectMake(20, 100, 100, 30)];
viewA.backgroundColor = [UIColor redColor];
[backgroundView addSubview:viewA];
UIView *viewB = [[UIView alloc]initWithFrame:CGRectMake(140, 100, 215, 30)];
viewB.backgroundColor = [UIColor greenColor];
[backgroundView addSubview:viewB];
UIView *viewC = [[UIView alloc]initWithFrame:CGRectMake(20, 160, 100, 30)];
viewC.backgroundColor = [UIColor redColor];
[backgroundView addSubview:viewC];
UIView *viewD = [[UIView alloc]initWithFrame:CGRectMake(140, 160, 215, 30)];
viewD.backgroundColor = [UIColor greenColor];
[backgroundView addSubview:viewD];
UIView *viewE = [[UIView alloc]initWithFrame:CGRectMake(50, 220, 75, 30)];
viewE.backgroundColor = [UIColor blueColor];
[backgroundView addSubview:viewE];
UIView *viewF = [[UIView alloc]initWithFrame:CGRectMake(150, 220, 75, 30)];
viewF.backgroundColor = [UIColor blueColor];
[backgroundView addSubview:viewF];
UIView *viewG = [[UIView alloc]initWithFrame:CGRectMake(250, 220, 75, 30)];
viewG.backgroundColor = [UIColor blueColor];
[backgroundView addSubview:viewG];
*/
//每个视图都有一套坐标系,是提供给子视图使用的,这套坐标系就是bounds
#pragma mark - UIView的相关属性和操作
UIView *opeView = [[UIView alloc]initWithFrame:CGRectMake(100, 200, 200, 200)];
opeView.backgroundColor = [UIColor greenColor];
[backgroundView addSubview:opeView];
#pragma mark - 属性的修改
//1、透明度的修改 范围是0~1
//opeView.alpha = 0.5;
//2、隐藏属性
//opeView.hidden = YES;
//3、获取父视图
//NSLog(@"%@",[opeView superview]);
opeView.superview.backgroundColor = [UIColor redColor];
//4、获取子视图
//opeView.subviews
#pragma mark - tag值(标记)
//设置tag值
opeView.tag = 101;//理论上,tag值得范围没有限制,但是据推测0~100之间值都有可能被系统指用
//获取tag值标记的view
[backgroundView viewWithTag:101].backgroundColor = [UIColor orangeColor];
#pragma mark - 操作
UIView *opeViewA = [[UIView alloc]init];
opeViewA.frame = CGRectMake(150, 250, 100, 100);
opeViewA.backgroundColor = [UIColor yellowColor];
[backgroundView addSubview:opeViewA];
UIView *opeViewB = [[UIView alloc]init];
opeViewB.frame = CGRectMake(0, 100, 300, 300);
opeViewB.backgroundColor = [UIColor greenColor];
#pragma mark - 调整视图的层级关系
//1、把opeView 调整到backgroundView的最前面
//[backgroundView bringSubviewToFront:opeView];
//2、把某一个视图添加到另一个视图的下面
[backgroundView insertSubview:opeViewB belowSubview:opeView];
//3、把某一个视图添加到另一个视图的上面
//[backgroundView insertSubview:opeViewB aboveSubview:opeView];
//4、在指定位置插入视图
//[backgroundView insertSubview:opeViewB atIndex:0];
/* 补充*/
#pragma mark - 修改圆角度(正方形的内切圆)
opeViewA.layer.cornerRadius = 50;
/*二、UILabel*/
UILabel *labelA = [[UILabel alloc]initWithFrame:CGRectMake(20, 430, 335, 100)];
labelA.backgroundColor = [UIColor cyanColor];
[backgroundView addSubview:labelA];
//1、label上面显示文字
labelA.text = @"陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚陈媚(自动换行)(自动换行)(自动换行)(自动换行)(自动换行)(自动换行)(自动换行)(自动换行)(自动换行)(自动换行)(自动换行)(自动换行)";
//2、改变字体号(默认是17号字体,最大不能超过label的高度)
labelA.font = [UIFont systemFontOfSize:15];
//3、字体颜色
labelA.textColor = [UIColor purpleColor];
//4、对齐方式
labelA.textAlignment = NSTextAlignmentCenter;
//5、阴影的颜色----和下面的属性配合使用
labelA.shadowColor = [UIColor blackColor];
//6、设置阴影的偏移量(右和下为正)
labelA.shadowOffset = CGSizeMake(-1, 1);
//7、label换行(自动换行)
labelA.numberOfLines = 0;
//8、断行模式(枚举值)
//NSLineBreakByWordWrapping 以单词为单位去断行,显示不下的字体不在进行显示(不会出现省略号)
//NSLineBreakByCharWrapping 以字符为单位去断行
//NSLineBreakByClipping 不以任何方式断行,会尽量的去显示更多的内容,显示不下直接切割掉
//NSLineBreakByTruncatingHead 最后一行的头部显示...
//NSLineBreakByTruncatingTail 最后一行的尾部显示...
//NSLineBreakByTruncatingMiddle 最后一行的中间显示...
labelA.lineBreakMode = NSLineBreakByTruncatingMiddle;
return YES;
}