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];相关文章推荐
- Android高级之Volley框架(三):ImageRequest、ImageLoader、NewworkImageView的使用
- iOS 16进制颜色字符串转换成可以正常使用的UIColor
- IOS 给UIView 设置背景图片
- CF--B - Queries on a String
- iOS9 UICollectionView新推出的Item排序方法
- iOS中 UITabBarController中自定义UITabBar
- iOS中 UITabBarController中自定义UITabBar
- Educational Codeforces Round 1 B. Queries on a String
- Definition Questions
- Leetcode Range Sum Query 2D - Immutable
- Leetcode Range Sum Query - Immutable
- 10005---servlet request请求对象常用方法总结
- GPUImage API文档之GLProgram类
- iOS之 基于UIImageView的图片浏览器
- poj2299 Ultra-QuickSort
- POJ - 1986 Distance Queries(离线Tarjan算法)
- 关于UEdiutor文本编辑器。前台展示分文字的问题
- OS X下UNIX环境高级编程(第三版)学习日志-第一章ChapterI,编译apue包与第一个例程
- 禁止uiscrollview垂直方向滚动,只允许水平方向滚动;或只允许垂直方向滚动
- UE4蓝图案例:制作按下键盘F键改变场景中模型的颜色