3

私は Core Text の使用にかなり慣れていないため、色属性の使用方法に関する情報があまり見つかりません...デフォルトのテキストの色を設定してから、特定の範囲の色を変更するにはどうすればよいでしょうか?

私がやろうとしていることは、短い文章を描くことです。テキストのデフォルトの色を明るい灰色にしてから、1 つの単語を赤でマークして強調表示したいと思います。

4

2 に答える 2

7

私が抱えていた問題をよりよく説明しようとしているときに、エラーが見つかりました...私はこれをしていました

UIColor _textColor = [UIColor grayColor];
[string addAttribute:(id)kCTForegroundColorAttributeName value:(id)_textColor range:NSMakeRange(0, [string length])];

これよりも

UIColor _textColor = [UIColor grayColor];   
[string addAttribute:(id)kCTForegroundColorAttributeName value:(id)_textColor.CGColor range:NSMakeRange(0, [string length])];

正しい種類の色オブジェクトを使用していることを確認するのに役立ちます!

于 2012-04-19T18:14:17.053 に答える
1

この問題を解決するには2つの方法があります

1)ラベル/テキストビューのレイヤーとしてコアテキスト(CATextLayer)を使用するUILableとUITextViewのサブクラスを作成し、NSAttributedStringはフォントと色に関するすべての情報を保存します

2) NSAttributedString を使用する必要があります。UILabel を拡張し、他のヘルパーの中で NSAttributedString を介してテキストを設定するためのサポートを追加する OHAttributedLabel を確認してください。

これが役立つことを願っています。

詳細については、私の投稿をご覧ください: UITextViewで単語の色を変更するには?

于 2012-04-19T15:20:38.787 に答える