// IOS:苹果移动设备的操作系统
// UIKit框架 里面包含了所有可以看得见的视图控件
// UIWindow:
// UiView:
// UIWindow:窗口 ios应用程序中 只能有一个主窗口
// 注意:有并且只能有一个主窗口
// UIWindow是用来显示承载 可以看到的控件 的容器
// 为什么说UIWindow是容器? 因为所有控件都是一层层 添加到窗口上的
// UiView:是一个视图 ->是所有视图类的父类
// UIWindow 也属于 视图
//**********************************************************************
// UIWindow 初始化
// initWithFrame:<#(CGRect)#> 构造方法 ->在创建一个对象的时候 同时给他一个Frame
// 获取屏幕边境范围的方法:[UIScreen mainScreen].bounds
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
ViewController *vc = [[ViewController alloc]init];
self.window.rootViewController = vc;
[self.window makeKeyAndVisible];//让窗口 是一个主窗口 并且显示在屏幕上
self.window.backgroundColor = [UIColor greenColor];
//1、UIView视图的创建
// UIView *view = [[UIView alloc]init];
// UIView *view1 = [[UIView alloc]init];
// 视图的位置和自身大小
// frame 位置(自身所在的位置以及自身的大小)
// 屏幕上是有很多像素点组成
// 视图的起始位置:origin(起始点、原点)
// 窗口的起始位置是左上角(0,0)
// 屏幕的起始位置、窗口的起始位置:origin ****所有子视图都是根据origin来定义起始位置
// size(尺寸) 视图本身的大小
// frame 是试图中的一个属性 位置(自身所在的位置以及自身的大小)
// CGRect
// view.frame = CGRectMake(0, 0, 200, 200);
// view1.frame = CGRectMake(210, 530, 200, 200);
// 背景颜色
// UIColor 颜色类 创建的对象 是一种颜色
// view.backgroundColor = [UIColor yellowColor];
// view1.backgroundColor =[UIColor redColor];
// 设置视图透明度的属性
// 0.0(完全透明<所有方法属性 类似被禁用>)~1.0(不透明)
// view.alpha = 0.9;
// hidden:隐藏 YES表示隐藏,NO表示不隐藏
// hidden默认值是NO 不隐藏
// view.hidden = YES;
// NSLog(@"%d",view.isHidden);
// 图层之间的关系
// 视图是一层一层叠加到一个父视图上的
// 父视图 和 子视图 的关系
// 父视图是一个承载体 子视图是父视图里面的一个元素 父视图位置发生改变 子视图的位置也会发生改变
// UIView *view2 = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 200, 200)];
// view2.backgroundColor = [UIColor cyanColor];
// [self.window addSubview:view2];
//
// UIView *view3 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)];
// view3.backgroundColor = [UIColor orangeColor];
// [view2 addSubview:view3];
// frame:是根据他的父视图 来定义 这个视图自身的位置的原点 超出部分 将不再接收任何响应事件
// center 中心点 对角线的交点 center.x =宽/2 + 原点的 xcenter.y =高/2 + 原点的y
// NSLog(@"view2.center.x:%f",view2.center.x);
// NSLog(@"view2.center.y:%f",view2.center.y);
// view2.center = CGPointMake(150, 200);//改变中心点 可以改变视图的位置
//只能使用frame 在创建视图的时候 给他一个位置
// 相对于自身的位置 原点永远是(0,0)
// bounds 自身的边境范围 bounds用途是获取视图的宽和高 忽略原点
// NSLog(@"%f",view2.bounds.size.width);
// 定时器 就是隔多少秒去做某件事
// NSTimer 定时器的类
// 定时器 初始化的方法
// Interval:间隔(时间间隔) 单位 秒
// selector:方法选择器 用来选择一个方法去执行
// repeats:重复次数
// target:让谁去执行
[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(start) userInfo:nil repeats:YES];//隔一秒 执行一次start 重复执行
//2、添加到父视图 -> 如果没有这个方法创建的视图将不会被显示在屏幕上
// [self.window addSubview:view];//[父视图 addSubview:要添加的视图];
// [self.window addSubview:view1];
UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(100, 200, 200, 200)];
view1.backgroundColor = [UIColor orangeColor];
[self.window addSubview:view1];
UIView *view2 = [[UIView alloc]initWithFrame:CGRectMake(50, 150, 200, 200)];
view2.backgroundColor = [UIColor whiteColor];
[self.window addSubview:view2];
// 在同一个父视图中
// 1、view1移动到最上面
// [self.window bringSubviewToFront:view1];
// 把一个视图移动到底下
// 把view2移动到下一层
// [self.window sendSubviewToBack:view2];
// 交换两个视图的位置
// [self.window exchangeSubviewAtIndex:2 withSubviewAtIndex:1];
// subviews(所有子视图组成的数组)数组->
// self.window.subviews
// NSLog(@"%@",self.window.subviews);
// 初始化视图的顺序 就是把视图存放到subviews这个数组里面的顺序
// 改变视图的顺序 就是在改变subviews数组里面元素的位置
// UIView *view = self.window.subviews[2];
// NSLog(@"%@",view);
// 插入一个试图到哪一个视图的上面
UIView *insertView = [[UIView alloc]initWithFrame:CGRectMake(80, 180, 200, 200)];
insertView.backgroundColor = [UIColor yellowColor];
[self.window addSubview:insertView];
// [self.window insertSubview:insertView aboveSubview:view1];
// [self.window insertSubview:insertView atIndex:3];
// 插入到哪一个视图的底下
[self.window insertSubview:insertView belowSubview:view2];
// tag:标记 标签 标号 -> 同一个父视图里面的身份证号
insertView.tag = 100;
// 可以通过tag值 在他的父视图上找到 这个视图
// viewWithTag: 在一个父视图上面 查找有没有tag值是100的这个视图
UIView *v = [self.window viewWithTag:100];
// v就是insertView
v.backgroundColor = [UIColor redColor];
// 移除视图
[v removeFromSuperview];
return YES;
}
-(void)start{
}