我想在同一个UILabel中使用多种字体颜色。我不知道是否有可能。我真的不这么认为,但也许你们中的一些人有一个聪明的解决方案呢?也许像stringWithFormat
这样的东西。 [NSString stringWithFormatAndColor: @"Text with color: %@ %@", text, color, text, color]
此图片说明了我要完成的任务:
答案 0 :(得分:1)
您可以使用NSAttributedSting实现此目的。支持归因字符串的UILabel易于使用的替代品是TTTAtributedLabel或OHAttributedLabel
根据我的经验,使用NSMutableAttributedStrings并逐步构建它会更容易。
NSMutableAttributedString *attrStr = [NSMutableAttributedString attributedStringWithString:@""];
NSMutableAttributedString *a = [NSMutableAttributedString attributedStringWithString:@"This is "];
[a setTextColor:aColorObj];
NSMutableAttributedString *b = [NSMutableAttributedString attributedStringWithString:@"only one "];
[b setTextColor:bColorObj];
NSMutableAttributedString *c = [NSMutableAttributedString attributedStringWithString:@"Label"];
[c setTextColor:cColorObj];
[attrStr appendAttributedString:a];
[attrStr appendAttributedString:b];
[attrStr appendAttributedString:c];
OHAttributedLabel *attributedTextLabel = [[OHAttributedLabel] initWithFrame:frame]
[attributedTextLabel setAttributedText:attrStr];