web-dev-qa-db-ja.com

NSAttributedStringを使用して文字列の色とフォントを変更する

文字列は、最後の単語が常に文字列全体の他の単語と比較して異なる色になります。たとえば、文字列の色が黒の場合、ステートメントの最後の単語は赤い色になります。以下のようにNSAttributed文字列を使用しています。

NSDictionary *attrDict = [NSDictionary dictionaryWithObject:[UIFont fontWithName:Arial size:16.0] forKey:NSFontAttributeName];
NSMutableAttributedString *AattrString = [[NSMutableAttributedString alloc] initWithString:@"This is a" attributes: attrDict];

私は最後のWordに対して同様のNSAttributedStringを作成し、最初の文字列で修正します。

質問:フォントとともに文字列に色を追加したい。私はすでに辞書を使用してフォントを処理しています。しかし、同じディクショナリにカラーハンドラ/コードを追加することはできますか、NSAttributedStringで「addAttribute:」を使用することは、色やその他の属性を追加する他の唯一の方法ですか?

21
tech_human

フォントと同じ辞書に色を追加します。

NSDictionary *attrDict = @{
    NSFontAttributeName : [UIFont fontWithName:Arial size:16.0],
    NSForegroundColorAttributeName : [UIColor redColor]
};
56
rmaddy