您的位置:首页 > 产品设计 > UI/UE

1.UIView知识总结

2015-11-14 09:55 417 查看

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];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: