NSTokenField:不同颜色的标记
问题描述:
我在xib中创建了一个NSTokenField。我想在tokenField中显示具有不同颜色的标记。含义:一些令牌将是蓝色的,其余的将是红色的(根据其内容)。那可能吗?NSTokenField:不同颜色的标记
以下代码对我无效。我希望有人能帮助我:
- (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;
}
结果:!所有令牌保持蓝色... :-(
任何帮助将高度赞赏
答
它可以通过使用私有API的子类NSTokenAttachmentCell
(私人)和NSTokenFieldCell
。
使用BWTokenAttachmentCell和BWTokenFieldCell类和NSTokenAttachmentCell BWToolkit的类转储。修改BWTokenAttachmentCell的初始化方法。
[示例项目
注:
使用此方法,如果你没有为Mac App Store的目标。
答
你可能不得不自己扮演角色。 2010年有一个关于高级Cocoa Text处理的wwdc视频。 NSTokenField使用NSTextAttachments来渲染令牌。
谢谢@Parag,但是我想知道如何用不同的颜色对不同的单元格进行着色:第一个用蓝色表示,第二个用红色表示,我会澄清我最初的问题。 – Nili