一、初始化
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 |