在NSAttributedString中截取部分字符串

3
我有两个NSAttributedString,我将它们合并后设置为UILabel中的文本。如果第一个属性字符串超过两行,我希望它被截断,以便第二个属性字符串仍然显示。我该怎么做?

1
为什么不使用两个UILabel呢? - Avt
考虑将其分成两个标签,一个标签对应一个。 - Marcus Adams
1
之前我使用了两个标签,但是在遇到一些问题后改为了一个标签..我想我会再试一次。 - thisiscrazy4
你最终解决了这个问题吗?还是你不得不使用两个标签? - rounak
1个回答

1
我认为最简单的方法是创建两个独立的标签来显示这段文字。第一个标签将显示加粗的文本,第二个标签将显示剩余的文本。您需要像下面的示例一样设置第一个属性字符串的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];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接