10

我有 NSMutableAttributedString 并且字符串很长。我想在 UIlabel 上显示时进行自动换行。如果是 NSString,我会继续做这样 的事情,Dynamic UILabel 截断文本 但是我怎么能用 NSAttributedString 来做呢?完成后,我需要根据标签大小调整视图大小。

4

3 回答 3

9

lineBreakMode 属性在 iOS 6 中并未被弃用。它只是更改了常量的名称。旧的常量已被弃用,但仍然可用。即使您正在部署到较旧的 iOS,您也可以使用新常量,因为常量只是枚举值。旧名称和新名称具有相同的值。因此,只需设置 yourlabelname.lineBreakMode = NSLineBreakByTruncatingTail。

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
[paragraphStyle setLineBreakMode:NSLineBreakByTruncatingTail];
[attributedStr addAttribute:NSParagraphStyleAttributeName
                     value:paragraphStyle
                     range:NSMakeRange(0,[attributedStr length])];
于 2014-02-03T10:10:26.940 回答
3

attributedText无论使用文本还是普通文本,以下操作也都有效。确保在将 and 字体设置为标签添加以下行。AttributedText

label.lineBreakMode = .byTruncatingTail
于 2018-01-10T11:30:02.737 回答
0

在更新属性文本字段后设置以下属性:

titleLabel.lineBreakMode = NSLineBreakByTruncatingTail;
于 2020-09-09T13:13:26.197 回答