你的位置:首页 > 操作系统

[操作系统]关于UIView


UIView是UI的基类

创建UIView前首先大概了解一下几个概念:

(当我们创建UIView,设置一个view的frame时使用CGRectMake()函数快速构造一个view的大小,便会出现下面的代码提示:

UIView *view = [[UIView alloc]initWithFrame:CGRectMake(<#CGFloat x#>, <#CGFloat y#>, <#CGFloat width#>, <#CGFloat height#>)];

frame 是一个结构体,包含2部分内容:origin和size

origin 是一个结构体,包含2部分内容:x和y

size 是一个结构体,包含2部分内容:width和height

CGRectMake()函数可以快速构造一个CGRect变量

创建UIView  UIView *view = [[UIView alloc]initWithFrame:CGRectMake(50, 50, 200, 200)];  

设置bounds:view.bounds = CGRectMake(50, 50, 300, 300);

视图管理

(1) 将一个视图放在最上面:bringSubviewToFront:

(2) 根据位置将两个视图交换:exchangeSubviewAtIndex: withSubviewAtIndex:2

(3) 将一个视图放在最下面:sendSubviewToBack:

(4) 将一个视图移除:removeFromSuperview

UIView的属性设置

(1) 背景颜色:view.backgroundColor = [UIColor blueColor];

(2) 隐藏视图:view.hidden = YES;

(3) 透明度:view.alpha = 0.3;

(4) 父视图:view.superview.backgroundColor = [UIColor cyanColor];

(5) 子视图:NSArray *subViewArray = view.subviews;需要用一个数组将子  视图放在里面

(6) 标记:view.tag = 101;

(7) 使用tag的值取出view: UIView *v1 = [_window viewWithTag:101]; (前提:tag为101的视图 是添加在_window上面的)

 

UIView的自适应

设备屏幕大小:

3GS 3.5寸 320*480 @1x

4/4s 3.5寸 320*480 @2x (640*960)

5/5c/5s 4.0寸 3208568 @2x (640*1136)

6 4.7寸 375*667 @2x (750*1344)

6Plus 5.5寸 414*736 @3x 1242*2208

这里需要注意的是如果都是3.5寸屏 但是如果是视网膜屏的话 使用的图片时 应该要使用640*960的

一般做法是在程序中有一张1.png的图片时,还需要一张1@2x.png的图片 程序会自动判断是不是Retina屏程序 自动选择使用 就不需要布两次局了

 

在程序中,可以打印设备屏幕大小(需要选择模拟器)

NSLog(@"w:%f  h:%f",[[UIScreen mainScreen] bounds].size.width,[[UIScreen mainScreen] bounds].size.height);