簡介
UILabel是iOS中最基本的控件,主要用來顯示文本信息。
常用的屬性和方法
1.創(chuàng)建
- 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設(shè)置和讀取文本的內(nèi)容
- OC
label.text = @"文本信息";//設(shè)置內(nèi)容
NSLog(@"%@",label);//讀取內(nèi)容
- Swift
label.text = "文本內(nèi)容??"
print(label)
3.給text設(shè)置字體顏色
- OC
label.textColor = [UIColor redColor];
- Swift
label.textColor = UIColor.red
4.設(shè)置文字大小
- 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的設(shè)置
- OC
label.textAlignment = NSTextAlignmentLeft; //right center
- Swift
label.textAlignment = .right //.center .left
6.numberOfLines 標(biāo)簽最多顯示行數(shù),如果為0則表示多行
- OC
label.numberOfLines = 2
- Swift
label.numberOfLines = 0
7.enabled 只是決定了Label的繪制方式,將它設(shè)置為NO將會使文本變暗,表示它沒有激活,這時向它設(shè)置顏色值是無效的。
- 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 設(shè)置陰影顏色
- OC
[label setShadowColor:[UIColor redColor]];
- Swift
label.shadowColor = UIColor.red
10.ShadowOffset 設(shè)置陰影偏移量
- OC
[label setShadowOffset:CGSizeMake(-1, -1)];
- Swift
label.shadowOffset = CGSize(width: -1, height: -1)
11.baselineAdjustment 如果adjustsFontSizeToFitWidth屬性設(shè)置為YES,這個屬性就來控制文本基線的行為。
OC
label.baselineAdjustment = UIBaselineAdjustmentNone;
//UIBaselineAdjustmentAlignBaselines = 0,默認,文本最上端與中線對齊。
//UIBaselineAdjustmentAlignCenters, 文本中線與label中線對齊。
//UIBaselineAdjustmentNone, 文本最低端與label中線對齊。
- Swift
label.baselineAdjustment = .none //.alignBaselines .alignCenters
12.Autoshrink 是否自動收縮
Fixed Font Size 默認,如果Label寬度小于文字長度時時,文字大小不自動縮放
minimumScaleFactor 設(shè)置最小收縮比例,如果Label寬度小于文字長度時,文字進行收縮,收縮超過比例后,停止收縮。
minimumFontSize 設(shè)置最小收縮字號,如果Label寬度小于文字長度時,文字字號減小,低于設(shè)定字號后,不再減小。6.0以后不再使用了。
- OC
label.minimumScaleFactor = .5;
- Swift
label.minimumScaleFactor = 0.5
13.lineBreakMode 設(shè)置文字過長時的顯示格式
- OC
label.lineBreakMode = NSLineBreakByClipping;//剪切與文本寬度相同的內(nèi)容長度,后半部分被刪除。
label.lineBreakMode = NSLineBreakByTruncatingHead;//前面部分文字以……方式省略,顯示尾部文字內(nèi)容。
label.lineBreakMode = NSLineBreakByTruncatingMiddle;//中間的內(nèi)容以……方式省略,顯示頭尾的文字內(nèi)容。
label.lineBreakMode = NSLineBreakByTruncatingTail;//結(jié)尾部分的內(nèi)容以……方式省略,顯示頭的文字內(nèi)容。
label.lineBreakMode = NSLineBreakByWordWrapping;//以單詞為顯示單位顯示,后面部分省略不顯示。
- Swift
label.lineBreakMode = .byCharWrapping
14.adjustsFontSizeToFitWidth 設(shè)置字體大小適應(yīng)label寬度
- OC
label.adjustsFontSizeToFitWidth = true;
- Swift
label.adjustsFontSizeToFitWidth = true
15.adjustsLetterSpacingToFitWidth 改變字母之間的間距來適應(yīng)Label大小
- OC
label.adjustsLetterSpacingToFitWidth = YES;//6.0--7.0
- Swift
并沒有這個方法
16.attributedText:設(shè)置標(biāo)簽屬性文本
- 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;