我想在同一个 UILabel 中使用不止一种字体颜色。我不知道这是否可能。我真的不这么认为,但也许你们中的一些人有一个聪明的解决方案?也许像stringWithFormat
.[NSString stringWithFormatAndColor: @"Text with color: %@ %@", text, color, text, color]
这张图片说明了我想要完成的事情:
我想在同一个 UILabel 中使用不止一种字体颜色。我不知道这是否可能。我真的不这么认为,但也许你们中的一些人有一个聪明的解决方案?也许像stringWithFormat
.[NSString stringWithFormatAndColor: @"Text with color: %@ %@", text, color, text, color]
这张图片说明了我想要完成的事情:
您可以使用 NSAttributedSting 实现此目的。TTTAtributedLabel或OHAttributedLabel是一个易于使用且支持属性字符串的UILabel 替代品
根据我的经验,使用 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];