对UIView的总结
2015-09-15 22:06
375 查看
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(10, 50, 100, 100)];//如果没有addsubview 不会显示在它的父视图上
#pragma mark-----------------设置背景颜色---
view.backgroundColor = [UIColor redColor];
#pragma mark-----------------设置tag值-------
view.tag = View1;//打印tag值 tag是视图的唯一标记
#pragma mark-----------------设置透明图-------
view.alpha = 0.8;//alpha是完全透明的时候也不会接收任何事件
#pragma mark-----------------设置中心点-------
view.center = CGPointMake(200, 300);//中心点 是相对于它的父视图来说的 怎样计算中心点:(X=x+宽/2,Y=y+高/2) 如果改变中心点得位置 视图的位置也随之改变 以后写动画的时候可能会用到中心点 尝试把视图放在屏幕的中心
view.center = self.window.center//把视图放在屏幕的中心
view.center = CGPointMake([UIScreen mainScreen].bounds.size.width/2, CGRectGetHeight([UIScreen mainScreen].bounds)/2);//尽量用后一种方法写 代码规范 其中包含两种方法把视图移动到屏幕的中心
view.center= CGPointMake([UIScreen mainScreen].bounds.size.width/2,[UIScreen mainScreen].bounds.size.height/2);//其中的一种
view.center = CGPointMake(CGRectGetWidth([UIScreen mainScreen].bounds)/2, CGRectGetHeight([UIScreen mainScreen].bounds)/2);//这是其中的另一种方法
[self.window addSubview:view];
NSLog(@"%ld",view.tag);//输出tag值
#pragma mark-----------------设置隐藏---------
UIView *vvv = [self.window viewWithTag:11];
vvv.hidden = NO;//hidden是YES的时候 也不会接收任何事件
#pragma mark---------------图层之间的关系-- UIView *bgview = [[UIView
alloc]initWithFrame:CGRectMake(100,
100, 200,
200)];
bgview.tag = 200;
bgview.backgroundColor = [UIColor greenColor];
[self.window addSubview:bgview];
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(150, 150, 200, 200)];
view.backgroundColor = [UIColor redColor];
// 裁切边界 (把超出得部分剪裁掉)
[self.window addSubview:view];
#pragma mark---------------让视图动起来
// [self performSelector:@selector(run) withObject:nil afterDelay:2];// 延时
// [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(run) userInfo:nil repeats:YES];//定时器
要定义方法:
-(void)run
{
UIView *bgView = [self.window viewWithTag:200];
bgView.center = CGPointMake(100, 100);
int x = arc4random()%300;
int y = arc4random()%600;
bgView.center = CGPointMake(x, y);
}
#pragma mark---------------移除视图的方法
//removeFromSubview 从父视图 移除视图
[view removeFromSuperview];
[bgview removeFromSuperview];
// 总结: 子视图依赖于父视图
// 如果父视图位置发生改变 子视图的位置也会发生改变 因为frame是根据他的父视图来定义位置信息的
// 如果移除父视图 父视图上面的所有子视图也都会被移除
#pragma mark---------------把视图放到另一个视图上面
[self.window bringSubviewToFront:bgview];//操作两个视图的图层关系时 两个图层必须在同一个父视图上 如果两个视图不是同一个父视图 它们两个就没有任何关系
bringSubviewToFront是把某个视图放到另一个视图的最上面
#pragma mark---------------把视图放到另一个视图下面
[self.window sendSubviewToBack:bgview];
UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(200, 200, 200, 200)];
view1.backgroundColor = [UIColor blueColor];
[self.window addSubview:view1];
#pragma mark---------------把一个子视图放到另一个子视图底下
[self.window insertSubview:view1 belowSubview:view];//方法1
[self.window insertSubview:view aboveSubview:view1];
#pragma mark--------------交换父视图上面的两个视图
[self.window exchangeSubviewAtIndex:0 withSubviewAtIndex:2];//咋们往同一个父视图上添加视图的时候 系统会自动帮咋们记录一个INdex 只要添加一个视图就会增加1 从0开始
#pragma mark--------------插入一个视图到另一个位置
[self.window insertSubview:view atIndex:1];
#pragma mark--------------作业1:做霓虹灯
#pragma mark--------------作业2:做登录页面
[self.window makeKeyAndVisible];
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(10, 50, 100, 100)];//如果没有addsubview 不会显示在它的父视图上
#pragma mark-----------------设置背景颜色---
view.backgroundColor = [UIColor redColor];
#pragma mark-----------------设置tag值-------
view.tag = View1;//打印tag值 tag是视图的唯一标记
#pragma mark-----------------设置透明图-------
view.alpha = 0.8;//alpha是完全透明的时候也不会接收任何事件
#pragma mark-----------------设置中心点-------
view.center = CGPointMake(200, 300);//中心点 是相对于它的父视图来说的 怎样计算中心点:(X=x+宽/2,Y=y+高/2) 如果改变中心点得位置 视图的位置也随之改变 以后写动画的时候可能会用到中心点 尝试把视图放在屏幕的中心
view.center = self.window.center//把视图放在屏幕的中心
view.center = CGPointMake([UIScreen mainScreen].bounds.size.width/2, CGRectGetHeight([UIScreen mainScreen].bounds)/2);//尽量用后一种方法写 代码规范 其中包含两种方法把视图移动到屏幕的中心
view.center= CGPointMake([UIScreen mainScreen].bounds.size.width/2,[UIScreen mainScreen].bounds.size.height/2);//其中的一种
view.center = CGPointMake(CGRectGetWidth([UIScreen mainScreen].bounds)/2, CGRectGetHeight([UIScreen mainScreen].bounds)/2);//这是其中的另一种方法
[self.window addSubview:view];
NSLog(@"%ld",view.tag);//输出tag值
#pragma mark-----------------设置隐藏---------
UIView *vvv = [self.window viewWithTag:11];
vvv.hidden = NO;//hidden是YES的时候 也不会接收任何事件
#pragma mark---------------图层之间的关系-- UIView *bgview = [[UIView
alloc]initWithFrame:CGRectMake(100,
100, 200,
200)];
bgview.tag = 200;
bgview.backgroundColor = [UIColor greenColor];
[self.window addSubview:bgview];
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(150, 150, 200, 200)];
view.backgroundColor = [UIColor redColor];
// 裁切边界 (把超出得部分剪裁掉)
[self.window addSubview:view];
#pragma mark---------------让视图动起来
// [self performSelector:@selector(run) withObject:nil afterDelay:2];// 延时
// [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(run) userInfo:nil repeats:YES];//定时器
要定义方法:
-(void)run
{
UIView *bgView = [self.window viewWithTag:200];
bgView.center = CGPointMake(100, 100);
int x = arc4random()%300;
int y = arc4random()%600;
bgView.center = CGPointMake(x, y);
}
#pragma mark---------------移除视图的方法
//removeFromSubview 从父视图 移除视图
[view removeFromSuperview];
[bgview removeFromSuperview];
// 总结: 子视图依赖于父视图
// 如果父视图位置发生改变 子视图的位置也会发生改变 因为frame是根据他的父视图来定义位置信息的
// 如果移除父视图 父视图上面的所有子视图也都会被移除
#pragma mark---------------把视图放到另一个视图上面
[self.window bringSubviewToFront:bgview];//操作两个视图的图层关系时 两个图层必须在同一个父视图上 如果两个视图不是同一个父视图 它们两个就没有任何关系
bringSubviewToFront是把某个视图放到另一个视图的最上面
#pragma mark---------------把视图放到另一个视图下面
[self.window sendSubviewToBack:bgview];
UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(200, 200, 200, 200)];
view1.backgroundColor = [UIColor blueColor];
[self.window addSubview:view1];
#pragma mark---------------把一个子视图放到另一个子视图底下
[self.window insertSubview:view1 belowSubview:view];//方法1
[self.window insertSubview:view aboveSubview:view1];
#pragma mark--------------交换父视图上面的两个视图
[self.window exchangeSubviewAtIndex:0 withSubviewAtIndex:2];//咋们往同一个父视图上添加视图的时候 系统会自动帮咋们记录一个INdex 只要添加一个视图就会增加1 从0开始
#pragma mark--------------插入一个视图到另一个位置
[self.window insertSubview:view atIndex:1];
#pragma mark--------------作业1:做霓虹灯
#pragma mark--------------作业2:做登录页面
[self.window makeKeyAndVisible];
相关文章推荐
- NEVER QUIT. NEVER SAY NEVER.
- Servlet之request请求、ServletContext、ServletConfig
- 自绘菜单的实现 ----------原作者querw
- UITextView内容添加后,自动滚动到最后一行
- soapui 自动化教程(四)
- UITableViewCell 消除右侧辅助视图区域空白
- UIPickerView
- uva 12167 Proving Equivalences(强连通分量 + 缩点)
- iOS中的UITabBarController(标签视图控制器)
- UI03_UITextField
- iOS:删除storyBoard,纯代码实现UITabBarController的视图切换功能
- ArrayBlockingQueue学习笔记
- NSDate将日期类字符串Tue Sep 15 19:00:03 +0800 2015转化为09-15 19:52日期类型的格式
- 【Java GUI】Java面板基础:JPanel
- UIBUTTON.NORMALSPRITE
- Qt 学习之路 :Qt Quick Controls
- DFGUI-- 标签交换 Tabstrip
- UIImagePickerController的静态方法
- HDOJ 1005 Number Sequence
- HDOJ 1005 Number Sequence