时隔半年之久,终于又有时间来继续博客的记录。这半年真的是太忙了。。。。
UILabel介绍
在Xcode中,当深入去查看UILabel的类会发现UILabel是UIView的子类。也就是UIView的一些属性和方法在UILabel中也都是适用的。
UILabel是一个用于展示文字的控件,简单的说创建一个UILabel的实例就是为了放文字的,想要在那个位置展示文字,就在那里创建一个Label。
UILabel的创建
label的创建和view的创建相同,常用的有两种方法:
//1、创建一个有位置大小的Label 位置:x:32 y:168 大小:width:100 height:30
UILabel *labelA = [[UILabel alloc] initWithFrame:CGRectMake(32, 168, 100, 30)];
//2、创建一个没有设置位置大小的label实例
UILabel *labelB = [[UILabel alloc] init];
UILabel的常用属性
上面说到UILabel类是继承自UIView的,所以在前面介绍的UIView类中的常用属性就不再介绍了,UILabel的frame、background、tag、layer、alpha、hidden等属性和UIView类中的使用方式完全相同,这里介绍在UIView中没有出现的属性。
1、text属性
前面在介绍UILabel的时候说到,label就是用来存放文字的,所以文字属性是UILabel的重要属性。没有文字,那么label和view在展示上就没有区别。都是一个空间块。text属性是用来给label上添加文字的。使用也很简单,就是将想要放在label上的文字赋值给label的text属性就可以了。
//给text属性赋值
labelA.text = @"我是LabelA";
NSString *string = @"我是LabelB";
labelB.text = string;
2、font属性
font属性是用来设置label上文字字体大小和字体样式的,我们通过设置font属性可以根据设计需求设置文字的大小和字体样式。
//设置字体大小为系统字体12
labelA.font = [UIFont systemFontOfSize:12];
//设置字体大小为系统字体12 字体宽度为2
labelA.font = [UIFont systemFontOfSize:14 weight:2];
//设置字体大小12 字体样式为AmericanTypewriter
labelA.font = [UIFont fontWithName:@"AmericanTypewriter" size:16];
关于字体,常见的设置方式有以上3中,在上面的代码中看到出现了一个UIFont类,这个类就是管理文字字体的。关于字体样式可以去网上查询一下,有对照关系,很方便设置。
3、textColor属性
textColor属性是用来设置文字颜色。
//设置文字颜色 设置为黄色
labelA.textColor = [UIColor yellowColor];
上面再设置颜色的时候使用到了UIColor类,这个类管理颜色,设置颜色的方法有很多具体参考UIColor类中的方法。具体方法使用command+鼠标左键点击UIColor就可以查看。
4、textAlignment属性
textAlignment是文字对其属性,用来设置文字等我对其方式,就像word中一样,有左对齐、右对齐、居中。
//设置文字对其方式 居中
labelA.textAlignment = NSTextAlignmentCenter;
/*常用对其方式
NSTextAlignmentLeft = 0, // Visually left aligned 左对齐
NSTextAlignmentCenter = 1, // Visually centered 居中
NSTextAlignmentRight = 2, // Visually right aligned 右对齐
*/
5、numberOfLines属性
numberOfLines属性是设置文字的行数。
//设置文字行数
/*设置行数时,当numberOfLines=0表示文字根据label的大小自动分行。其他需要一行numberOfLines=1需要两行numberOfLines=2即可*/
labelA.numberOfLines = 0;
6、shadowColor属性、shadowOffset属性
这里我将连个属性放在一起,这两个属性一起来设置字体阴影
//设置文字阴影
labelA.shadowColor = [UIColor yellowColor];
//CGSizeMake(5, -8) 连个数字参数 第一个正数表示向右阴影负数表示向左阴影 第二个正数表示向下阴影负数表示向上阴影
//这里的理解可以将文字作为一个二维坐标系的圆点想右为x轴的正方向,向下为y轴的正方向。
labelA.shadowOffset = CGSizeMake(5, -8);