UILabel
一、UILabel是一个视图类,即UIView的子类,在iOS程序中,看的见,摸得着的,都是UIView的子类;
UILabel是标签视图,用于显示文字信息,不能显示图片.
1、创建一个window(不能用self.window会导致引用计数加1)
_window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
( Override point for customization after application launch.)
2、设置widow的背景色[UIColor] 颜色
self.window.backgroundColor = [UIColor whiteColor];
3、创建一个UILabel
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 100, 50)];
4、设置label背景色
label.backgroundColor=[UIColor blueColor];
5、设置label文字内容
label.text=@"Hello World!";
6、设置label字体颜色
label.textColor=[UIColor whiteColor];
7、设置label字体大小
label.font=[UIFont systemFontOfSize:20];
8、获取iOS里面支持的字体
NSArray *array=[UIFont familyNames];
NSLog(@"%@",array);
9、第一个参数是字体类型,第二个参数是字体大小
下面如果设置了相同的属性,下面的会覆盖上面的
label.font=[UIFont fontWithName:@"Bradley Hand" size:20];
10、矫正设置label的自适应宽度,默认是NO
label.adjustsFontSizeToFitWidth=YES;
11、把label放在我们的window上
[self.window addSubview:label];
12、设置label对齐方式
label.textAlignment=NSTextAlignmentLeft;
NSTextAlignmentLeft = 0, // Visually left aligned 字体左对齐
NSTextAlignmentCenter = 1, // Visually centered 字体居中
NSTextAlignmentRight = 2, // Visually right aligned字体居右
13、用来显示设置label 可以显示多少行,默认为0,不限制
label.numberOfLines=2;
14、label的中断模式
label.lineBreakMode=NSLineBreakByTruncatingHead;
NSLineBreakByWordWrapping = 0, /* Wrap at word boundaries, default */ 以单词结尾
NSLineBreakByCharWrapping, /* Wrap at character boundaries */ 以字符结尾
NSLineBreakByTruncatingHead, /* Truncate at head of line: "...wxyz" */ 左对齐,开头省略
NSLineBreakByTruncatingTail, /* Truncate at tail of line: "abcd..." */ 右对齐,结尾省略
NSLineBreakByTruncatingMiddle /* Truncate middle of line: "ab...yz" */ 两端对齐,中间省略
15、把label放到ViewController,label的自动引入计数为加1的
[self.view addSubview:label];
[label release];
二、使用视图控制器(viewController)
相当于一个画布,window只有一个,而我们的画布可以有多个。
1、iOS及许多移动端应用开发,使用MVC为基础设计模式。
2、模型(Model)视图(View)控制器(Controller)。
3、控制器通常指视图控制器,用于管理视图,将数据填充到视图上。视图不应该直接访问数据模型。
<一>用UILabel显示象棋图:
@[@"车", @"马", @"象", @"王", @"后", @"象", @"马", @"车"];
16、设置label透明度
label.alpha=0.5;
<二>UILabel显示9*9乘法表:
三、拓展
frame bounds概念
1、frame 是相对于父视图的坐标系
2、bounds 是相对本视图的坐标系
如果我们改变了bounds的X,Y坐标,父视图的位置不会改变,但是他们的子视图会改变