一、tag
tag 是视图的唯一标记 alpha 是完全透明的时候,不会接收任何事件
1、枚举的复习
typedef enum : NSUInteger {
View1 = 100,
View2 = 200,
View3 = 300,
}ViewTag;
2、tag 是视图的唯一标记 alpha 是完全透明的时候,不会接收任何事件
3、如果没有addSubview 不会显示在它的父视图上
hidden 是yes得时候,也不会接受任何事件
[self.window addSubview:view];
4、center 中心点 相对于 他父视图来说的(如果改变中心点得位置,视图 的位置也会发生改变)(X = x+宽/2 ;Y = y+高/2)
5、把视图放到中心点有三种办法
1⃣️ view.center = CGPointMake([UIScreen mainScreen].bounds.size.width/2, [UIScreen mainScreen].bounds.size.height/2);
2⃣️view.center = self.window.center;
3⃣️view.center = CGPointMake(CGRectGetWidth([UIScreen mainScreen]. bounds)/2, CGRectGetHeight([UIScreen mainScreen].bounds)/2);
二、图层间的关系
在说这个问题的时候大家看看下面这张图
1、操作两个视图的涂层关系时 两个图层必须得在同一个父视图上面,如果两个视图 不是同一个父视图 那他们就没有任何关系
2、clipsToBounds 裁切边境 (把超出的部分 剪切掉)
bgView.clipsToBounds = YES;
3、addSubview 添加视图
[self.window addSubview:bgView];
4、 把一个视图放到 另一个 子视图的底下
[self.window insertSubview:view1 belowSubview:smView];
5、 把一个视图放到 另一个子视图的 上面
[self.window insertSubview:bgView aboveSubview:smView];
6、交换 父视图上的 两个视图的位置( 咱们网同一个 父视图上面 添加子视图的时候 系统会帮咱们 记录一个Index 只要添加一个子视图 就会增加1 从0开始
) [self.window exchangeSubviewAtIndex:0 withSubviewAtIndex:2];
7、把view添加到第二个创建的视图上
[self.window insertSubview:view1 atIndex:1];
8、 把一个视图 放到 相邻视图的最下面
[self.window sendSubviewToBack:view1];
9、removeFromSuperview 从父视图 移除视图
[View removeFromSuperview];
// 总结 : 子视图 依赖于父视图 如果父视图位置发生改变,子视图的位置也会发生改变 因为frame是根据它的父视图来定义位置信息的
// 如果移除父视图 父视图上面的所有子视图 也都会被移除