1.UIView知识总结

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];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值