同じUILabelに複数のフォントの色が必要です。それが可能かどうかはわかりません。私は本当にそうは思いませんが、多分そこにいるあなたの何人かはそれのための賢い解決策を持っていますか?多分のようなものstringWithFormat
。[NSString stringWithFormatAndColor: @"Text with color: %@ %@", text, color, text, color]
この画像は、私が達成しようとしていることを示しています。
同じUILabelに複数のフォントの色が必要です。それが可能かどうかはわかりません。私は本当にそうは思いませんが、多分そこにいるあなたの何人かはそれのための賢い解決策を持っていますか?多分のようなものstringWithFormat
。[NSString stringWithFormatAndColor: @"Text with color: %@ %@", text, color, text, color]
この画像は、私が達成しようとしていることを示しています。
これは、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];