Label根据内容来显示单行还是多行
Posted NSJELLY
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Label根据内容来显示单行还是多行相关的知识,希望对你有一定的参考价值。
我所遇到的情况是,产品让显示一个Message,最多两行显示,多余的用...代替,但是这个Message有可能是一行显示也有可能是两行显示,如果直接按照label两行填写,如果内容是一行的时候label就会居中显示,这是一个蛋疼的问题.怎么来解决呢?
话不多说,上代码:
NSString *messageString = _detailModel.message; CGSize maximumLabelSizeOne = CGSizeMake(200,115/2-20);//200为我需要的UILabel的长度,后面的参数是label的最大高度,这样可以控制多出来的用...显示 NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init]; paragraphStyle.lineBreakMode = NSLineBreakByWordWrapping; NSDictionary *attributes = @{NSFontAttributeName:[UIFont systemFontOfSize:13], NSParagraphStyleAttributeName:paragraphStyle.copy}; CGSize size = [messageString boundingRectWithSize:maximumLabelSizeOne options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes context:nil].size; UILabel *messageLabel = [[UILabel alloc] initWithFrame:CGRectMake(12.5, 10, 200, size.height)]; messageLabel.text = messageString; messageLabel.textAlignment = 0; messageLabel.numberOfLines = 2; messageLabel.font = [UIFont systemFontOfSize:13]; messageLabel.textColor = [TncTool colorWithHexString:@"666666"]; [messageView addSubview:messageLabel];
这样就可以实现label的高度适配问题...
以上是关于Label根据内容来显示单行还是多行的主要内容,如果未能解决你的问题,请参考以下文章