3

NSTextViewの特定のテキストの色を変更したい。メソッドは、キーダウンイベントの後にそれをチェックする必要があります。

例:単語voidが終了し、文字列voidが色を青に変更します。コードエディタのように。

長い間検索しましたが、何も見つかりませんでした。私のコード:

 NSRange range = [text rangeOfString:@"void"];
 NSString *substring = [[text substringFromIndex:NSMaxRange(range)] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
 //I think, here is the mistake.
 NSAttributedString *now = [NSAttributedString initWithString:substring];
 [now setTextColor:[[NSColor blueColor]]];

を使用する必要があることを読みましたNSAttributedStringが、文字列からこのクラスを取得する方法がわかりません。

私はココアプログラミングの初心者です。

すべての助けをありがとう!

4

1 に答える 1

5

次の方法で実行できます。

NSString *str = @"Hello. That is a test attributed string.";

//in place of NSMakeRange put your range

[self.textview setRichText:YES];
[self.textview setString:str];
[self.textview setTextColor:[NSColor redColor] range:NSMakeRange(3,5)];
于 2013-03-16T10:31:51.780 に答える