iOS lable文字字未占满一行就换行

iOS lable文字字未占满一行就换行

我们在使用lable时,当设置换行后,发现有时候文字并未达到lable宽的边界处就换行了,有时候这个并不影响布局,但如果想要修改的话,也是可以的。
解决方法就是:使用富文本显示,并添加设置要求

UILabel *conLab = [[UILabel alloc] initWithFrame:CGRectMake(20, 30 , 40, 30)];
//设置换行
conLab.numberOfLines = 0;
[self.view addSubview:conLab];
 //使用富文本,防止文本未满一行就换行的问题。
 NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
 paragraphStyle.lineBreakMode = NSLineBreakByCharWrapping;
 NSDictionary *attributes = @{NSParagraphStyleAttributeName:paragraphStyle};
 conLab.attributedText = [[NSAttributedString alloc] initWithString:@"在 iPhone 14 Pro 系列中初次亮相的打孔屏与灵动岛功能,大概率会直接沿用至 iPhone 15 标准版机型,成为 iPhone 15 系列的标配。" attributes:attributes];
 //自适应宽高
 [conLab sizeToFit];

iOS 获取lable的每行文字的高度

每行文字的高度:CGFloat lineHeight = label.font.lineHeight;

参考链接:
关于IOS UIlable 一行未满就换行
UILabel换行不正确的问题
判断label有几行

你可能感兴趣的:(iOS lable文字字未占满一行就换行)