在使用UILabel展示2行文字的时候,我们经常会遇到末尾英文的时候会自动换行,这样会显得页面视图比较空旷,影响用户体验,如图所示:

我需要做的是要将每一行尽可能补充完全,不要展示的这么空旷。要从2点去解决,第一是要有省略号,第二是将222222222或者djhasjdjasbhjdbajdbjab不要当做一个文本字符串去考虑。我们直接上代码,代码如下:
UITextView *textView = [[UITextView alloc]initWithFrame:CGRectMake(10, 200, 200, 200)];
textView.backgroundColor = [UIColor greenColor];
textView.text = @"试听课222222222222222想cvtybunifcgvhjbnkgvhbjn艾叶草一成不变才不被苏试听课222222222222222想cvtybunifcgvhjbnkgvhbjn艾叶草一成不变才不试听课222222222222222想cvtybunifcgvhjbnkgvhbjn艾叶草一成不变才不试听课222222222222222想cvtybunifcgvhjbnkgvhbjn艾叶草一成不变才不联";
//控制展示行数
textView.textContainer.maximumNumberOfLines = 2;
//保证展示结尾多余用省略号代替
textView.textContainer.lineBreakMode = NSLineBreakByTruncatingTail;
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init];
//保证字符串的完整性不会因为是英文或者数字的整体换行
paragraphStyle.lineBreakMode = NSLineBreakByCharWrapping;
NSDictionary *attributes = @{NSParagraphStyleAttributeName:paragraphStyle};
textView.attributedText = [[NSAttributedString alloc] initWithString:textView.text attributes:attributes];
[self.view addSubview:textView];
实现效果图如下:
