UIView
- UIView 是ios 中的视图对象
- 显示在屏幕上的所有的对象的基础类
- 所有显示在屏幕上的对象一定都继承于UIView
- 屏幕上能看到的对象都是UIView的子类
- UIView 是一个矩形对象,有背景颜色,可以显示,有层级观关系
- self.view 是UIViewController的顶级UIView
View Coordinates
屏幕快照 2017-02-26 下午8.27.29.png
UIView初始化
//创建一个UIView对象
UIView * view = [[UIView alloc]init];
设置UIView的位置
//设置UIView的位置
view.frame =CGRectMake(100, 100, 100, 100);
UIView 背景色设置
view.backgroundColor = [UIColor brownColor];
整个视图背景色设置
self.view.backgroundColor = [UIColor blueColor];
UIView视图整体风格
//是否隐藏视图对象
//YES:不显示
//NO:显示(缺省)
view.hidden = NO;
//设置视图的透明度
//alpha = 1 :不透明
//alpha = 0 : 透明
//alpha = 0.5 :半透明
view.alpha = 0.5;
//设置是否显示不透明
view.opaque = YES;
将UIView显示出来
//将新建的视图添加到父亲视图下
//1:将新建的视图显示到屏幕上
//2:将视图作为父亲视图的子视图管理起来
[self.view addSubview:view];
//UIView对象是在初始化框架函数中调用,所以最后addSubview到self.window
//将backView作为view的父亲视图
//子视图的坐标是参照父视图的坐标系
//当父亲视图移动时,所有的子视图都会移动
[backView addSubview:view];
[self.window addSubview:backView];
设置view的标签值
//通过父亲视图对象以及view的标签值可以获得相应的视图对象
view.tag = 101;
//创建一个移动的视图
UIView *view = [self.view viewWithTag:101];
view.frame = CGRectMake(view.frame.origin.x+1, view.frame.origin.y+1, 80, 80);
UIView层级关系
//将三个视图对象显示到屏幕上
//并且添加到父亲视图上
//哪一个视图被先添加到父亲视图中,就先绘制哪一个视图
[self.view addSubview:view01];
[self.view addSubview:view02];
[self.view addSubview:view03];
UIView层级的调整
//将某一个视图调整到最前面显示
//参数:UIView 对象,调整哪一个视图到最前面
[self.view bringSubviewToFront:view02];
//将某一个视图调整到最后面显示
//参数:UIView 对象,调整哪一个视图到最后面
[self.view sendSubviewToBack:view03];
//subviews管理所有self.view的子视图的数组
//subviews 这个[1] [2]打印的frame = (0 0; 0 0);
//subviews 这个和调整视图有关系,谁在最下面,谁是subviews[0],其他均没有值;
//此处viewBack等于view03,frame也是view03的frame;
UIView * viewBack = self.view.subviews[0];
UIView生命周期
viewWillAppear:、viewDidAppear:、viewWillDisappear:、viewDidDisappear: