UIView
UIKit ->里面包含了所有可以看得见的视图控件
UIWindow :窗口 -> IOS应用程序中只能有一个主窗口 一个工程里面有并且只能有一个主窗口
UIWindow:是用来显示承载可以看到的控件的容器
UIWindow相当于一个容器 ->所有控件都是一层层添加到窗口上的
UIWindow 初始化:
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
[self.window makeKeyAndVisible];//makeKeyAndVisible 让窗口 是主窗口 并且显示在屏幕上
initWithFrame构造方法 ->在创建一个对象的时候同时给他一个Frame
获取屏幕边界范围的方法:[UIScreen mainScreen].bounds
UIView : 是一个视图 ->是所有视图类的父类
视图的位置和自身大小
frame -> 位置 (是视图里面的一个属性)
屏幕上是由很多像素点组成
视图的起始位置 : origin
窗口的起始位置 :左上角(0,0)
所有子视图都是根据origin(起始点、原点)来定义起始位置
size -> 尺寸视图本身的大小
UIView *view =[[UIView alloc]init];
设置透明度:0.0(完全透明)-1.0(不透明)
透明度为0.0(完全透明)的情况下所有属性、方法类似被禁用
view.alpha = 0.3;//view的透明度为0.3
hidden :隐藏 YES:隐藏 NO:不隐藏(默认值是NO不隐藏)
view.hidden = NO;//view不隐藏
图层之间的关系
视图是一层层叠加到一个父视图上的
父视图是一个承载体子视图是父视图里面的其中的一个元素
父视图的位置发生改变子视图也会跟随父视图位置一起改变
[self.window addSubview:view];//添加视图到父视图 -> 如果没有这个方法 创建的视图将不会被显示在屏幕上
view.frame = CGRectMake(150, 300, 100, 80);//view创建在窗口上坐标为(150,300)的位置并且大小为:宽100,高80
背景颜色 UIColor ->颜色类 ->创建的对象是一种颜色
view.backgroundColor = [UIColor greenColor];//设置view的背景颜色为绿色
UIView *view = [[UIView alloc]init];//创建视图view
[self.window addSubview:view];//把视图view添加到self.window上面
view.frame = CGRectMake(305, 630, 100, 100);
view.backgroundColor = [UIColor purpleColor];
frame是根据他的父视图来定义他自身的位置的(原点)
定义frame不要超出父视图的范围超出部分将不再接收任何响应事件
center 中心点对角线的交点
center.x = 宽/2+原点的x
center.y = 高/2+原点的y
view.center = CGPointMake(150, 200);
改变中心点可以改变视图的位置
只能使用frame在创建视图的时候给他一个位置
相对于自身的位置原点永远是(0,0)
bounds自身的边境范围 用途:获得视图的宽和高忽略原点
NSLog(@"%f",view.bounds.size.height);//可以输出view的高
定时器:隔多少秒去做某件事
[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(方法) userInfo:nil repeats:10];
NSTimer定时器的类 定时器初始化的方法
Interval:间隔单位是秒
selector:方法选择器 ->用来选择一个方法去执行
repeats: 重复次数
target:让谁执行
隔一秒执行一次start方法
在同一个父视图里
UIView *view8 = [[UIView alloc]init];
view8.frame = CGRectMake(100, 100, 100, 100);
view8.backgroundColor = [UIColor purpleColor];
[self.window addSubview:view8];
UIView *view9 = [[UIView alloc]init];
view9.frame = CGRectMake(50, 150, 200, 200);
view9.backgroundColor = [UIColor purpleColor];
[self.window addSubview:view9];
1、把一个视图移动到最上面
[self.window bringSubviewToFront:view8];//把view8移动到最上面
2、把一个视图移动到下一层
[self.window sendSubviewToBack:view8];//把view8移动到下一层
3、交换两个视图的位置
subviews(所有子视图组成的数组)数组
初始化视图的顺序就是把视图放到subviews这个数组里的顺序
改变视图的顺序就是在改变 subviews数组里面元素的位置
[self.window exchangeSubviewAtIndex:2 withSubviewAtIndex:1];//把窗口上1位置的视图和2位置的视图交换位置
UIView *view10 = [[UIView alloc]init];//创建视图view10
[self.window insertSubview:view10 aboveSubview:view9];//插入view10到view9上面
tag:标记标签标号 ->同一个父视图里面的身份证号
view10.tag = 100;//给view10 设置tag值 可以通过tag值 在他的父视图上 找到这个视图
//viewWhithTag:在一个父视图上面查找有没有tag值是多少的视图
UIView *v = [self.window viewWithTag:100];//找到父视图上tag值为100的视图view10
v.backgroundColor = [UIColor whiteColor];//操作v就相当于在操作view10
4、移除视图
[v removeFromSuperview];//移除视图v