2

xib に NSTokenField を作成しました。その tokenField 内に異なる色のトークンを表示したいと思います。意味: 一部のトークンは青色で、残りは (内容に応じて) 赤になります。それは可能ですか?

次のコードは機能しません。誰かが私を助けてくれることを願っています:

- (id)tokenField:(NSTokenField *)tokenField representedObjectForEditingString:(NSString *)editingString
{
    id returnRepresentedObject = nil;

    NSTokenFieldCell *tf = [[NSTokenFieldCell alloc] init];
    tf.stringValue = editingString;
    tf.backgroundColor = [NSColor redColor];
    returnRepresentedObject = tf;

    return returnRepresentedObject;
}

結果: すべてのトークンは青のままです... :-(

どんな助けでも大歓迎です!

4

2 に答える 2

1

おそらく、自分の役割を果たさなければならないでしょう。高度な Cocoa Text 処理に関する 2010 年の wwdc ビデオがあります。NSTokenField は NSTextAttachments を使用してトークンをレンダリングします。

于 2015-07-27T15:19:50.473 に答える