2012-08-31 42 views
0

我试图创建一个NSTextField以允许批量重命名某些文件。该字段应允许插入一些令牌来自定义每个文件名。 NSTokenField的问题在于:1)它修剪空白,应该允许,2)它没有足够的功能来混合令牌和纯文本,例如,它应该识别令牌的开始,即使实际风格是纯文本。NSTextField内部的文本标记

现在,我想继承的NSTextField或者NSTextView手动绘制我的令牌,但我怎样才能使每个标记的行为,就好像它是一个单一的性格吗?我能以某种方式添加一些带有文本的NSCell吗?

回答

1

“1)它修剪空格,应允许” - 我想这可能是与委托方法进行定制。

“2)......应该承认,即使实际风格是纯文本令牌的开始” - 令牌是一个令牌。它应该是完全匹配或 - 不 - 一个令牌,因为你的用户实际上可能令人信服地拥有令牌的字符串作为一个诚实的对神的文字。

+0

我已经试过很多东西,但我无法得到禁用空白修剪行为。忘记纯文本问题,实际上它很混乱。现在我可以通过以下方式来解决问题:1)可以添加空格或2)将我的自定义标记添加到NSTextField(如何?)。 – Nickkk

+0

最后我明白了:我混合了NSTokenField和NSTokenFieldCell的代理方法(它们看起来完全相同),因此没有得到正确的行为。覆盖' - (NSString *)tokenField:(NSTokenField *)tokenField displayStringForRepresentedObject:(id)representObject'并返回'displayedObject'使空白空间成为可能。仍然没有得到如何定制令牌... – Nickkk