首页 > 解决方案 > UIlabels 中的文本对齐方式

问题描述

我有 2 个相同宽度的相邻标签。label1 文本只占一行。label2 的文本很长,目标是在 2 行中显示全文,我使用 label.numberOfLines = 2 和 adjustsFontSizeToFitWidth = YES;

现在,label2 的第一行与 label1 的第一行不对齐。虽然标签仍然对齐,但 label2 文本从标签内的边距开始。我希望 label2 文本从顶部开始。请帮我解决一下这个。

在此处输入图像描述

标签: iosobjective-cuilabel

解决方案


固定的:

CGSize originalSize = [label.text sizeWithAttributes:@{NSFontAttributeName:label.font}];

CGFloat usedScaleFactor = label.frame.size.width / originalSize.width;

CGFloat newFontSize = label.font.pointSize * usedScaleFactor;

label.font = [UIFont fontWithName:@"fontName" size:newFontSize];

这解决了我的问题。由于adjustsFontSizeToFitWidth,iOS在更改我的文本字体时使用我的原始文本字体大小计算标签框......

希望这对正在搜索这个的人有所帮助..


推荐阅读