UIView
来源:互联网 发布:淘宝福袋怎么设置 编辑:程序博客网 时间:2024/05/23 12:41
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
//创建一个与当前设备屏幕尺寸大小一致的UIWindow窗口对象,用来显示视图;
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]autorelease];
//给window对象设置颜色,UIColor 颜色类,为控件提供颜色 类方法 类名调用 UIColor
self.window.backgroundColor = [UIColor whiteColor];
//让当前window窗口称为应用程序的主窗口,也就是显示给用户;
[self.window makeKeyAndVisible];
//UIView 视图类 所有能够看的到的矩形视图,都是UIView
//如果想确定一个矩形,需要给定此矩形视图的位置和大小
CGRect ----- CGRectMake(x,y,w,h);设置视图的位置和大小;
CGSize ------- CGSizeMake(w,h);//设置视图的大小;
CGPoint ------ CGPointMake(x,y);设置视图的位置;
屏幕尺寸
3.5寸 320 * 480
4寸 320 * 568
4.7寸 375 * 667
5.5寸 414 * 736
//1.创建对象,并且初始化;在创建对象的同时,给定该视图对象的大小和位置; frame 里的x y 坐标是相对于父视图而言的;
UIView *redView = [[UIView alloc]initWithFrame:CGRectMake(50, 50, 200, 200)];
//2.设置属性 设置视图为红色
redView.backgroundColor = [UIColor redColor];
//3.修改红色视图的bounds
// redView.bounds = CGRectMake(50, 50, 200, 200);
//4.center 中心点 NSStringFromCGPoint打印点坐标
NSLog(@"center = %@",NSStringFromCGPoint(redView.center));
//修改redView的中心点坐标
//redView.center = CGPointMake(200, 200);
//5.获取一个视图的父视图 superView属性 获取到当前视图对象的父视图
NSLog(@"%@",redView.superview);
//6.alpha 透明度 设置视图的透明度 默认是1 值范围 0.0 --- 1.0之间
//redView.alpha = .5;
blackView.alpha = .5;
//7.隐藏 hidden 是否隐藏 是一个BOOL类型
redView.hidden = NO;//默认为NO,不隐藏
//blackView.hidden = YES;
//几个UIView的常见属性:
1.superView:获取当前的视图对象的父视图,一个视图,只能有一个父视图;
2.subViews:获取视图的所有子视图,是一个数组,一个视图,可以有多个子视图;
3.alpha:透明度 通过设置0.0 ---- 1.0之间的值改变视图的透明度;
4.hidden:是否隐藏 默认为NO,是一个BOOL类型;
5.backgroudColor:设置视图的背景颜色;
frame,bounds,center之间的区别和联系:
frame:设置视图的位置和大小(包含origin和size两个结构体变量),origin里的成员x和y设置视图位置(距离父视图左上角的位置),size里的width和height设置视图大小;视图的位置取决于父视图的位置;
center:获取视图本身的中心点坐标,坐标是相对于父视图的位置;
frame改变,center改变;center改变,frame改变;
bounds:是相对于自身而言坐标的位置,bounds(x,y)发生改变,视图大小不变,改变的是子视图的位置,自己本身位置不变;因为,子视图是相对于父视图的坐标原点的。如果该视图的大小发生改变,bounds里的x,y不变,则改变的是本身视图的位置,以自身视图中心点不变,来改变视图的大小;
//视图的层级关系,视图的子视图是以添加的时间顺序,先添加的视图在下层,后添加的视图在上层;
//改变视图的层级关系
UIView *blueView = [[UIView alloc]initWithFrame:CGRectMake(60, 60, 200, 200)];
blueView.backgroundColor = [UIColor blueColor];
//1、指定某个位置,插入新的视图
//[self.window insertSubview:blueView atIndex:1];
//2.以一个视图为参照物,在其上面添加子视图
//[self.window insertSubview:blueView aboveSubview:redView];
//3.以一个视图为参照物,在其下面添加子视图
[self.window insertSubview:blueView belowSubview:yellowView];
//4.交换连个视图的层级位置,
[self.window exchangeSubviewAtIndex:1 withSubviewAtIndex:3];//交换的是视图的层级位置,并没有改变各自视图的frame,也就是位置和大小不变;
//5.将一个视图从其父视图上移除
[blueView removeFromSuperview];
//6.可以将视图提到视图层级的最上层
//[self.window bringSubviewToFront:redView];
//7.将视图提到视图层级的最下层
[self.window sendSubviewToBack:greenView];
//定时器
[NSTimer scheduledTimerWithTimeInterval:.2 target:self selector:@selector(handleChange) userInfo:nil repeats:YES];
- (void)handleChange{
//首先,获取到黄色视图,通过tag值获取;使用viewWithTag
UIView *changeView = (UIView *)[self.window viewWithTag:101];//(UIView *)强制类型转换
//随机颜色
changeView.backgroundColor = [UIColor colorWithRed:arc4random() % 256 / 255.0 green:arc4random() % 256 / 255.0 blue:arc4random() % 256 / 255.0 alpha:1];
}
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIView
- UIVIew
- UIView
- UIView
- 区间DP-由矩阵连乘所想到的
- hdu1254 推箱子(广搜bfs)
- 使用servlet过滤器播放amr音频
- Matlab 的fspecial函数用法
- C/C++ 位运算解析
- UIView
- poj2010,无语的题,真的做不来,以后见到这类型再说吧,我用的堆(二分也可做)
- linux读书笔记6
- UI22_UICollectionView
- Mybatis系列之实战篇(下)
- ajax传中文到后台乱码
- 基于httpclient4的HttpClientUtil类
- PL/SQL基础(一)
- 开发规范V1.0