UIView
宏定义屏幕的宽高
#define kScreenWidth [UIScreen mainScreen].bounds.size.width
宏定义屏幕的高度
#define kScreeHeight [UIScreen mainScreen].bounds.size.height
UIView代表一个矩形区域
起始点 从屏幕的左上角(0,0)点 开始计算
创建视图的步骤
1.开辟空间 给一个位置
2.给视图设置一些属性(例如背景颜色)
3.添加视图(显示视图)
4.释放内存
1.开辟空间 ,初始化一个UIView
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 200, 200, 100)];
2.给视图设置一些属性 如加个背景颜色
view.backgroundColor = [UIColor blueColor];
3.添加视图(显示视图)添加到Window上显示 实际上添加进一个数组中
[self.window addSubview:view];
4.释放内存 释放内存空间
[view release];
5.取出window所有子视图
NSArray *subView = self.window.subviews;
UIView *tempView = subView[0];
6. 更改背景颜色
tempView.backgroundColor = [UIColor grayColor];
父子视图的关系 的相对的
要看 加到谁身上 谁就是父视图
子视图的起始位置 要根据父视图的左上角(0,0)点开始计算坐标
7.获取中心点
CGPoint center = view.center;
NSLog(@”%@”,NSStringFromCGPoint(center));
8.更改中心点坐标
view.center = CGPointMake(200,200);
更改视图的位置
1.更改frame
2.更改中心点
bounds 边界 可以控制子视图的坐标系
默认的bounds的起始点 就是从(0,0)开始
改变父视图的bounds 相当于子视图的坐标系(也就是原点坐标)
父视图是不发生变化 只是更改子视图的位置
view.bounds = CGRectMake(-10, -10, 200, 100);
UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(10, 20, 180, 60)];
view1.backgroundColor = [UIColor redColor];
子视图的位置发生了改变
[view addSubview:view1];
[view1 release];
添加子视图注意:
必须把子视图添加到父视图之内 否则无法交互
UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(8, 11, 160, 40)];
view2.backgroundColor = [UIColor blackColor];
[view1 addSubview:view2];
[view2 release];
UIView中的方法
UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(100, 200, 200, 200)];
1.给视图添加一个标签 (tag值)
aView.tag = 10;
2.如果UIView 没有给背景颜色 默认是 透明的 添加背景颜色
aView.backgroundColor = [UIColor redColor];
[self.window addSubview:aView];
[aView release];
3.通过tag值 取出视图
注意:tag值 不能给0(因为window是0)
UIView *tagView = [self.window viewWithTag:10];
tagView.backgroundColor = [UIColor yellowColor];
4.隐藏视图
如果父视图被隐藏 那么父视图上面的所有子视图也会被隐藏
透明属性 默认是1 填0-1之间的数
如果父视图的透明度发生变化 那么父视图上面所有子视图也会发生改变
aView.hidden = YES;
aView.alpha = 0.5;
UIView *bView = [[UIView alloc] initWithFrame:CGRectMake(100, 200, 100, 100)];
bView.backgroundColor = [UIColor grayColor];
[self.window addSubview:bView];
[bView release];
5.把某一个子视图 放到最前面
[self.window bringSubviewToFront:aView];
6.把某一个子视图放到最后面
[self.window sendSubviewToBack:aView];
7.交换两个子视图的位置
[self.window exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
8.删除视图
[aView removeFromSuperview];
9.取出某一子视图的 父视图
UIView *superView = bView.superview;
superView.backgroundColor = [UIColor orangeColor];
10.取出window所有子视图
NSArray *subView = self.window.subviews;
UIView *tempView = subView[0];
11.把视图插入到指定的位置
NSArray *subView = self.window.subviews;
[self.window insertSubview:bView atIndex:0];
12.给后面的aView 添加子视图bView(在上面)
[self.window insertSubview:bView aboveSubview:aView];
13.把子视图bView插入到子视图aView下面
[self.window insertSubview:bView belowSubview:aView];