UILabel 顶部对齐与多行

Posted

技术标签:

【中文标题】UILabel 顶部对齐与多行【英文标题】:UILabel top alignment with multiline 【发布时间】:2013-10-31 10:24:42 【问题描述】:

我有一个UILabelUICollectionView 中有 4 行。当少于 4 行时,我希望文本位于顶部而不是中心。

谢谢..

【问题讨论】:

【参考方案1】:

实现这一点的更快方法是将 UILabel 的换行模式设置为“Clip”并添加固定数量的换行符。

myLabel.lineBreakMode = NSLineBreakByClipping;
myLabel.text = [displayString stringByAppendingString:@"\n\n\n\n"];

此解决方案不适用于所有人 - 特别是,如果您仍想在字符串末尾显示“...”(如果它超过了您要显示的行数),则需要使用较长的代码之一——但在很多情况下,这会得到你需要的东西。

你也应该看看this blog.. 这个链接也可以帮助你Vertically align text to top within a UILabel

【讨论】:

帮助我解决这个问题的唯一答案,这个简单的 2 行代码。非常感谢! 很高兴帮助你@Tom...干杯。【参考方案2】:

在斯威夫特中:

yourLabel.lineBreakMode = NSLineBreakMode.ByClipping 
yourLabel.text = yourString.stringByAppendingString("\n\n\n\n")

【讨论】:

【参考方案3】:

这就是解决办法

dispatch_async(dispatch_get_main_queue(), ^
            yourLabel.numberOfLines = 0;
            [yourLabel sizeToFit];


        );

【讨论】:

它确实有效.. 我不明白为什么,因为这已经是主线程了

以上是关于UILabel 顶部对齐与多行的主要内容,如果未能解决你的问题,请参考以下文章

让UILabel的文字顶部对齐

将图标与多行 UILabel 的左上角对齐

多行 UILabel 与固有内容大小的 UILabel 宽度相同

如何将 UILabel 文本设置为顶部对齐

两个具有不同字体大小的自动布局 UILabel:文本顶部对齐

设置 UILabel 对齐顶部在单元格中不起作用