label标签的属性
//label标签的属性
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 - (void)viewDidLoad { 2 //初始化一个label1标签对象,初始化有很多方法,最原始的就是init,此处用带有frame的方法 3 UILabel *label1=[[UILabel alloc]initWithFrame:CGRectMake(30, 30, 300, 30)]; 4 //设置内容 5 label1.text=@"我是 label 123 hello world 你好吗?在家吗?"; 6 //设置文字颜色 7 label1.textColor=[UIColor whiteColor]; 8 //设置标签背景,clearColor是透明背景的意思 9 label1.backgroundColor=[UIColor redColor]; 10 //设置文字对齐 11 label1.textAlignment=NSTextAlignmentCenter; 12 //设置字体,UIFont类有很多设置字体的方法,CMD+点击可查看。 13 label1.font=[UIFont boldSystemFontOfSize:23]; 14 //这个字体设置会覆盖上面的设置,但字是否会倾斜加粗则需要看具体的字体 15 label1.font=[UIFont italicSystemFontOfSize:23]; 16 //打印出所有系统字体,也是用得UIFont里一个方法,可CMD+点击查看 17 NSArray *arr1=[UIFont familyNames]; 18 for (NSString *name in arr1) { 19 NSLog(@"%@",name); 20 } 21 //一般可用,同时修改字体和字号的方法 22 label1.font=[UIFont fontWithName:@"Georgia" size:40]; 23 //设置阴影颜色 24 label1.shadowColor=[UIColor blackColor]; 25 //设置阴影偏移值,需要CGSizeMake值,第一个表示左右偏移,>0向右;第二个表示上下偏移,>0向下 26 label1.shadowOffset=CGSizeMake(2, 5); 27 //设置高亮,如果设置为YES,则下面的高亮颜色会替换原先的textColor,而如果设置为No,或者高亮没开启,则高亮颜色设置无效,还是显示textColor值 28 label1.highlighted=YES; 29 label1.highlightedTextColor=[UIColor redColor]; 30 //根据标签大小自动调整文字大小,如否不开启,则多余的文字用...表示 31 label1.adjustsFontSizeToFitWidth=YES; 32 //文字与标签的对齐,依次是文本顶端、中间、底端于标签的中线对齐。可CMD+点击以下任意一个值,发现这是一枚举,默认值是UIBaselineAjustmentAlignBaselines 33 //以下方法仅当只有一行文本时有效 34 label1.baselineAdjustment=UIBaselineAdjustmentAlignBaselines; 35 label1.baselineAdjustment=UIBaselineAdjustmentAlignCenters; 36 label1.baselineAdjustment=UIBaselineAdjustmentNone; 37 38 UILabel *label2=[[UILabel alloc]initWithFrame:CGRectMake(30, 80, 300, 80)]; 39 label2.text=@"hello world hello world hello world hello world hello world hello world hello world hello world hello world hello world hello world hello world hello world "; 40 //文字很多时,还是显示1行,最后以...省略 41 //设置显示的行数,0是不限制多少行,但由于标签高度一定,如果显示不下,最终仍以...省略 42 label2.numberOfLines=0; 43 //设置换行和最后截断/省略 44 //NSLineBreakByWordWrapping-以单词为单位换行,以单词为单位截断(即没有...,显示不了的直接截断不显示),默认,CMD+点击发现也是一枚举 45 //NSLineBreakByCharWrapping-以字符为单位换行,以字符为单位截断 46 //NSLineBreakByClipping-以单词为单位换行,以字符为单位截断 47 //NSLineBreakByTruncatingHead-以单位为单位换行,以字符为单位截断,但最后一行的前面是...省略,如果是一行,则就在一行的开头有... 48 //NSLineBreakByTruncatingTail-以单位为单位换行,以字符为单位截断,但最后一行的末尾是...省略,如果是一行,则就在一行的末尾有... 49 //NSLineBreakByTruncatingMiddle-以单位为单位换行,以字符为单位截断,但最后一行的中间是...省略,如果是一行,则就在一行的中间有... 50 label2.lineBreakMode=NSLineBreakByTruncatingHead; 51 52 //根据内容调整标签大小,三部曲 53 UILabel *label3=[[UILabel alloc]initWithFrame:CGRectZero]; 54 label3.text=@"标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3"; 55 //1、计算内容大小,即获得高和宽,其实宽一般都给定了,只是计算高,而高宽二位对象一般是一个CGSize 56 CGSize size1=[label3.text sizeWithFont:label3.font constrainedToSize:CGSizeMake(300, 1000) lineBreakMode:NSLineBreakByCharWrapping]; 57 //2、设置显示行数,即不限制函数 58 label3.numberOfLines=0; 59 //3、利用size1设置标签的宽和高 60 label3.frame=CGRectMake(30, 180, size1.width, size1.height); 61 //把上面初始化的标签label1、2、3增加到当前的view里,一并显示出来 62 [self.view addSubview:label1]; 63 [self.view addSubview:label2]; 64 [self.view addSubview:label3]; 65 [super viewDidLoad]; 66 // Do any additional setup after loading the view, typically from a nib. 67 }