1.text:设置标签显示文本。
2.attributedText:设置标签属性文本。
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;
3.font:设置标签文本字体。
label.font = [UIFont fontWithName:@"Arial" size:16];
4.textColor:设置标签文本颜色。
label.textColor = [UIColor blueColor];
5.textAlignment:设置标签文本对齐方式。
label.textAlignment = NSTextAlignmentCenter;
6.lineBreakMode:设置标签文字过长时的显示方式。
label.lineBreakMode = NSLineBreakByCharWrapping;以字符为显示单位显示,后面部分省略不显示。
label.lineBreakMode = NSLineBreakByClipping;剪切与文本宽度相同的内容长度,后半部分被删除。
label.lineBreakMode = NSLineBreakByTruncatingHead;前面部分文字以……方式省略,显示尾部文字内容。
label.lineBreakMode = NSLineBreakByTruncatingMiddle;中间的内容以……方式省略,显示头尾的文字内容。
label.lineBreakMode = NSLineBreakByTruncatingTail;结尾部分的内容以……方式省略,显示头的文字内容。
label.lineBreakMode = NSLineBreakByWordWrapping;以单词为显示单位显示,后面部分省略不显示。
7.enabled:设置文字内容是否可变。
8.adjustsFontSizeToFitWidth:文字内容自适应标签宽度。
9.adjustsLetterSpacingToFitWidth:根据字母的间隔自适应标签宽度,超出部分以……显示。
10.numberOfLines:标签最多显示行数。
11.minimumScaleFactor:设置最小字体,与minimumFontSize相同,minimumFontSize在IOS 6后不能使用。
12.highlightedTextColor:设置文本高亮显示颜色,与highlighted一起使用。
13.shadowColor:设置文本阴影颜色。
14.shadowColor:设置文本阴影与原文本的偏移量。label.shadowOffset = CGSizeMake(1.0, 5.0);
15.userInteractionEnabled:设置标签是否忽略或移除用户交互。默认为NO。
16.preferredMaxLayoutWidth:优先选择标签布局的最大宽度。
17.baselineAdjustment:如果adjustsFontSizeToFitWidth属性设置为YES,这个属性就来控制文本基线的行为。
label4.baselineAdjustment = UIBaselineAdjustmentNone;
UIBaselineAdjustmentAlignBaselines=0,默认,文本最上端与中线对齐。
UIBaselineAdjustmentAlignCenters, 文本中线与label中线对齐。
UIBaselineAdjustmentNone, 文本最低端与label中线对齐。
一、初始化
1 | UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(40, 40, 120, 44)]; |
3 | [self.view addSubview:myLabel]; |
二、设置文字
①、设置默认文本
1 | NSString *text = @ "标签文本" ; |
效果:
②、设置标签文本(此属性是iOS6.0之后才出现,如若不是必要,不建议使用此属性)
1 | NSString *text = @ "其实没什么" ; |
3 | NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:text]; |
5 | [attributeString setAttributes:@{NSForegroundColorAttributeName : [UIColor redColor], NSFontAttributeName : [UIFont systemFontOfSize:17]} range:NSMakeRange(2, 1)]; |
7 | myLabel.attributedText = attributeString; |
效果:
关键字标红的效果
01 | NSString *keyword = @ "开源" ; |
02 | NSString *result = @ "开源中国社区" ; |
05 | NSMutableAttributedString *attrituteString = [[NSMutableAttributedString alloc] initWithString:result]; |
08 | NSRange range = [result rangeOfString:keyword]; |
11 | [attrituteString setAttributes:@{NSForegroundColorAttributeName : [UIColor redColor], NSFontAttributeName : [UIFont systemFontOfSize:17]} range:range]; |
14 | label.attributedText = attrituteString; |
③、设置字体,如果是使用②中的文本,那在设置AttributeString的属性时已经设置过Font了和textColor了,直接使用①设置文本时设置文本时,设置字体方法
1 | myLabel.font = [UIFont systemFontOfSize:13]; |
④、设置颜色
1 | myLabel.textColor = [UIColor blueColor]; |
⑤、设置对齐方式
1 | myLabel.textAlignment = NSTextAlignmentCenter; |
4 | NSTextAlignmentJustified |
NSTextAlignmentJustified和 NSTextAlignmentNatural用的时候会报错,程序崩溃,暂时不知道什么时候可以使用,希望知道的指教一下,感激不尽。
⑥、文字剪裁方式
1 | NSLineBreakByWordWrapping = 0, |
2 | NSLineBreakByCharWrapping, |
4 | NSLineBreakByTruncatingHead, |
5 | NSLineBreakByTruncatingTail, |
6 | NSLineBreakByTruncatingMiddle |
1 | myLabel.lineBreakMode = NSLineBreakByTruncatingHead; |
⑦、设置Label enabled属性
如果设置为No,则文字颜色会变暗,表明其是不可用的,默认值为YES。
二、匹配Label上的文字
①、是否根据文本宽度改变字体大小
1 | myLabel.adjustsFontSizeToFitWidth = YES; |
前后对比:

②、改变字母之间的间距来适应label大小
2 | myLabel.adjustsLetterSpacingToFitWidth = NO; |
③、设置对齐基线
1 | myLabel.adjustsFontSizeToFitWidth = YES; |
1 | myLabel.baselineAdjustment = UIBaselineAdjustmentAlignBaselines; |
此属性有三个值可选
1 | UIBaselineAdjustmentAlignBaselines |
2 | UIBaselineAdjustmentAlignCenters |
3 | UIBaselineAdjustmentNone |
④、最小字体大小,当字体小于这个最小值时无效,显示此属性值
iOS6.0之前:minimumFontSize
iOS6.0之后:minimumScaleFactor
1 | myLabel.minimumScaleFactor = 10.0; |
⑤、行数
1 | myLabel.numberOfLines = 2; |
⑥、高亮
1 | myLabel.highlighted = YES; |
2 | myLabel.highlightedTextColor = [UIColor redColor]; |
⑦、阴影
1 | myLabel.shadowColor = [UIColor grayColor]; |
2 | myLabel.shadowOffset = CGSizeMake(1, 1); |
三、Label位置
①、计算UIlabel 随字体多行后的高度
2 | bounds = CGRectMake(0, 0,200, 300); |
3 | heightLabel = [myLabel textRectForBounds:bounds limitedToNumberOfLines:20]; |
4 | NSLog(@ "%f" ,heightLabel.size.height); |
②、绘制text到指定区域
1 | - ( void )drawTextInRect:(CGRect)rect |