UI学习
UIView
UIWindow: window是窗口,每个app都需要借助window将内容展现给用户看。在iOS中,使用UIWindow类来表示窗口,通常一个应用程序只创建一个UIWindow对象。window的主要作用是呈现内容给用户,我们不会对window做太多操作。
view(视图):代表屏幕上的一个矩形区域。iOS中用UIView来表示视图,各种UI控件都属于view。不同的控件代表不同种类的view。iOS中所有能看到的内容都是view或其子类。
创建视图的步骤如下:
1、开辟空间并初始化视图(初始化时,给出视图位置和大小)
2、对视图做一些设置(比如:背景颜色)
3、将视图添加到window上进行显示
4、释放视图对象
视图创建的代码:
UIView *blueView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 200, 200)];
blueView.backgroundColor = [UIColor blueColor];
[self.window addSubview:blueView];
//[blueView release];//MRC下需要加上这行代码
view常用的属性:
frame:决定了视图的大小和位置。frame是一个结构体,它里边存放了视图的origin(位置)和size(大小)。origin和size也是结构体,origin里边存放了视图的起始点坐标(x,y),size里边存放了视图的宽和高(width,height)。一般给frame赋值时用CGRectMake()函数。
blueView.frame = CGRectMake(0,0,300,300);
center:决定视图中心点的位置 centre是一个结构体里边存放视图中心点的坐标(x,y),修改center的值,视图会跟着移动
blueView.center = CGPointMake(100,100);
bounds:视图的边界值和frame一样,修改边界值不会影响本视图的位置,会影响其子视图的位置。如下:其子视图的左上顶点会和其左上顶点重合
blueView.bounds = CGRectMake(100,100,300,300);
UIView *greenView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 120, 100)];
greenView.backgroundColor = [UIColor greenColor];
[blueView addSubview:greenView];
hidden:控制视图的显隐
greenView.hidden = YES;//隐藏greenView
greenView.hidden = NO;//显示greenView
alpha:控制视图的透明度(子视图也一起透明),取值范围0~1,0是透明,1是不透明
blueView.alpha = 0.8
userInteractionEnabled:控制视图的交互性,YES允许交互,NO不允许交互
greenView.userInteractionEnabled = YES;
superview:获取本视图的父视图
UIView *superView = [redView superView];
subviews:获取本视图的所有子视图
NSArray *subviews = [blueView subviews];
tag:给视图添加标记,被加完标记的视图可以使用viewWithTag:方法取出
redView.tag = 100;
UIView *view = [superview viewWithTag:100];
UIView管理视图层次常用的方法
bringSubviewToFront:把指定的子视图移动到最前面
[self.window bringSubviewToFront:redView];
sendSubviewToBack:把指定的子视图移动到最后面
[self.window sendSubviewToBack:redView];
exchangeSubviewAtIndex:withSubviewAtIndex:交换两个指定索引位置的子视图
[self.window exchangeSubviewAtIndex:0 withSubviewAtIndex:2];
removeFromSuperview:把receiver从父视图上移除
[redView removeFromSuperview];
UILabel
UILabel继承与UIView类,UIView的所有属性和方法UILabel都可以使用,UILabel就是文本显示框,上面呈现的内容位字符串对象。
创建UILabel和创建UIView的步骤相似,1、开辟空间并初始化(如果本类有初始化方法,使用自己的;否则使用父类的)。
2、设置文本控制相关的属性
3、添加到父视图上,用以显示
4、释放
UILabel *userNameLabel = [[UILabel alloc] initWithFrame:CGRectMake(30, 100, 100, 30)];
userNameLabel.text = @"用户名";
[containerView addSubview:userNameLabel];
//[userNameLabel release];//MRC是需要加上这行代码
UILabel的常用属性
text:要显示的文本内容
label.text = @“用户名”;
textColor:文本内容的颜色
label.textColor = [UIColor redColor];
textAlignment:文本的对齐方式(水平方向),其取值是一个枚举值(常用的有居中,居左和居右)
label.textAlignment = NSTextAlignmentLeft;
font:文本字体
label.font = [UIFont fontWithName:@“Helvetica-Bold” size:20];//黑体加粗,20号字。
numberOfLines:行数,label的高度要能容纳所对应的行数。如果所对应的行没能显示完信息,没显示的信息以省略号代替。
label.numberOfLines = 3;//显示3行
lineBreakMode:断行模式,其值是一个枚举值
label.lineBreakMode = NSLineBreakByWordWrapping;//以单词为单位换行
shadowColor:设置字体颜色
label.shadowColor = [UIColor yellowColor];
shadowOffset:设置偏移量
label.shadowOffset = CGSizeMake(2, 3)//阴影向x正方向偏移2,向y正方向偏移3