iOS最基本的控件就是视图控件 UIView
A. 创建视图
创建UI控件步骤:
**1. 初始化一个空间**
**2. 设置属性**
**3. 显示视图**
**4. 释放内存**
如:
UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(30, 30, 250, 250)];
aView.backgroundColor = [UIColor blueColor];
[self.window addSubview:aView];
[aView release];
代码功能 :
初始化视图长宽各为250, 从window左上角开始, 向右向下各30
属性设置了背景颜色, UIView默认背景颜色是透明的
然后添加aView视图 到当前的窗口上
最后释放内存
B. 给视图添加标签, 方便使用, 注意标签不能重复, 也不能为零
如:
aView.tag = 100;
UIView *aViewTemp = [self.window viewWithTag:100];
使用aViewTemp就可以改变aView的属性了
C. 视图有子视图和父视图, 所有看见的UI控件全是UIView的子类
子视图的起始坐标 根据父视图的(0, 0)计算的
父视图与子视图的创建
如:
UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(30, 30, 250, 250)];
aView.backgroundColor = [UIColor blueColor];
[self.window addSubview:aView];
[aView release];
UIView *bView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 160, 160)];
bView.backgroundColor = [UIColor brownColor];
[aView addSubview:bView];
[bView release];
UIView *cView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 90, 90)];
cView.backgroundColor = [UIColor cyanColor];
[aView addSubview:cView];
[cView release];
// 把指定的视图 放到最前面
[aView bringSubviewToFront:bView];
// 把指定的视图 放到最后面
[aView sendSubviewToBack:bView];
// 按角标交换两个视图的位置
[aView exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
// 删除父视图中的子视图
[bView removeFromSuperview];
// 删除父视图
[aView removeFromSuperview];
// 改变父视图的颜色
UIView *cViewTemp = [cView superview];
cViewTemp.backgroundColor = [UIColor purpleColor];
// 把父视图添加到子视图的上面
[aView insertSubview:bView aboveSubview:cView];
// 把父视图放下面
[aView insertSubview:bView belowSubview:cView];
// 把子视图 插到 相应的角标位置
[aView insertSubview:cView atIndex:0];
aView 是bView的父视图, 也是cView的父视图
D. 改变父视图的bounds, 则更改了子视图的 (0, 0)点, 父视图本身的位置不变, 子视图的位置改变
父视图的bounds从 (0, 0, 100, 100) 改成 (10 , 10, 100, 100), 子视图就要找现在的 (0, 0)点, 来改变自己的位置
aView.bounds = CGRectMake(-100, -100, 100, 100);
// 改变视图的中心点, 就相当于改变视图的位置
aView.center = CGPointMake(100, 100);
// 设置视图是否隐藏, 若父视图隐藏, 子视图也要隐藏
aView.hidden = YES;
over