简介
UILabel是iOS中最基本的控件,主要用来显示文本信息。
常用的属性和方法
1.创建
- OC
CGRect frame = CGRectMake(0, 0, 100, 200);
UILabel * label = [[UILabel alloc] initWithFrame:frame];
- Swift
let label = UILabel.init(frame: CGRect(x: 0, y: 0, width: 100, height: 200))
2.text设置和读取文本的内容
- OC
label.text = @"文本信息";//设置内容
NSLog(@"%@",label);//读取内容
- Swift
label.text = "文本内容"
print(label)
3.给text设置字体颜色
- OC
label.textColor = [UIColor redColor];
- Swift
label.textColor = UIColor.red
4.设置文字大小
- OC
label.font = [UIFont systemFontOfSize:20]; //一般方法
label.font = [UIFont boldSystemFontOfSize:20]; //加粗方法
label.font = [UIFont fontWithName:@"Arial" size:16]; //指定
- Swift
label.font = UIFont.systemFont(ofSize: 15)
label.font = UIFont.boldSystemFont(ofSize: 20)
label.font = UIFont.init(name: "Arial", size: 20)
字体的方法
5.textAlignment的设置
- OC
label.textAlignment = NSTextAlignmentLeft; //right center
- Swift
label.textAlignment = .right //.center .left
6.numberOfLines 标签最多显示行数,如果为0则表示多行
- OC
label.numberOfLines = 2
- Swift
label.numberOfLines = 0
7.enabled 只是决定了Label的绘制方式,将它设置为NO将会使文本变暗,表示它没有激活,这时向它设置颜色值是无效的。
- OC
label.enable = NO;
- Swift
label.isEnabled = false // swift 中只有 true or false
8.highlighted 是否高亮显示
- OC
label.highlighted = YES;
label.highlightedTextColor = [UIColor orangeColor]; //高亮
- Swift
label.isHighlighted = true
label.highlightedTextColor = UIColor.orange
文本的显示颜色
9.ShadowColor 设置阴影颜色
- OC
[label setShadowColor:[UIColor redColor]];
- Swift
label.shadowColor = UIColor.red
10.ShadowOffset 设置阴影偏移量
- OC
[label setShadowOffset:CGSizeMake(-1, -1)];
- Swift
label.shadowOffset = CGSize(width: -1, height: -1)
11.baselineAdjustment 如果adjustsFontSizeToFitWidth属性设置为YES,这个属性就来控制文本基线的行为。
OC
label.baselineAdjustment = UIBaselineAdjustmentNone;
//UIBaselineAdjustmentAlignBaselines = 0,默认,文本最上端与中线对齐。
//UIBaselineAdjustmentAlignCenters, 文本中线与label中线对齐。
//UIBaselineAdjustmentNone, 文本最低端与label中线对齐。
- Swift
label.baselineAdjustment = .none //.alignBaselines .alignCenters
12.Autoshrink 是否自动收缩
Fixed Font Size 默认,如果Label宽度小于文字长度时时,文字大小不自动缩放
minimumScaleFactor 设置最小收缩比例,如果Label宽度小于文字长度时,文字进行收缩,收缩超过比例后,停止收缩。
minimumFontSize 设置最小收缩字号,如果Label宽度小于文字长度时,文字字号减小,低于设定字号后,不再减小。6.0以后不再使用了。
- OC
label.minimumScaleFactor = .5;
- Swift
label.minimumScaleFactor = 0.5
13.lineBreakMode 设置文字过长时的显示格式
- OC
label.lineBreakMode = NSLineBreakByClipping;//剪切与文本宽度相同的内容长度,后半部分被删除。
label.lineBreakMode = NSLineBreakByTruncatingHead;//前面部分文字以……方式省略,显示尾部文字内容。
label.lineBreakMode = NSLineBreakByTruncatingMiddle;//中间的内容以……方式省略,显示头尾的文字内容。
label.lineBreakMode = NSLineBreakByTruncatingTail;//结尾部分的内容以……方式省略,显示头的文字内容。
label.lineBreakMode = NSLineBreakByWordWrapping;//以单词为显示单位显示,后面部分省略不显示。
- Swift
label.lineBreakMode = .byCharWrapping
14.adjustsFontSizeToFitWidth 设置字体大小适应label宽度
- OC
label.adjustsFontSizeToFitWidth = true;
- Swift
label.adjustsFontSizeToFitWidth = true
15.adjustsLetterSpacingToFitWidth 改变字母之间的间距来适应Label大小
- OC
label.adjustsLetterSpacingToFitWidth = YES;//6.0--7.0
- Swift
并没有这个方法
16.attributedText:设置标签属性文本
- OC
NSString *text = @"first";
NSMutableAttributedString *textLabelStr =[[NSMutableAttributedString alloc] initWithString:text];
[textLabelStr setAttributes:@{
NSForegroundColorAttributeName : [UIColor lightGrayColor],
NSFontAttributeName : [UIFont systemFontOfSize:17]}
range:NSMakeRange(11,10)];
label.attributedText = textLabelStr;