在NSAttributedString中截断字符串的一部分

时间:2014-03-06 20:27:31

标签: ios objective-c cocoa-touch nsattributedstring

我有两个NSAttributedString,我将它们附加在一起,然后将其设置为UILabel中的文字。我希望第一个属性字符串截断,如果它将超过2行,以便第二个属性字符串仍然显示。我怎么能这样做?

enter image description here

1 个答案:

答案 0 :(得分:2)

我认为最简单的方法是创建两个单独的标签来显示此文本。第一个将显示粗体文本,第二个将显示文本的其余部分。您必须为第一个属性字符串设置NSLineBreakMode,如下例所示:

NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
[style setLineBreakMode:NSLineBreakByWordWrapping];


NSDictionary *attributes = @{/*yourattributes */NSParagraphStyleAttributeName: style};
NSAttributedString = [[NSAttributedString alloc] initWithString:YOUR_TEXT attributes:attributes];

如果您将文本拆分为两个分隔标签,您甚至可以使用NSAttributedString辞职。相反,您可以使用UILabel方法自定义文本外观。

 label.font = font;
 label.textColor = [UIColor grayColor];