如何将自定义NSFormatter设置为NSTextView?

问题描述:

我有一个NSTextView和我有一个自定义NSFormatter限制字符串的长度。但是,如何在NSTextView上“[_textView setFormatter:customFormatter]”?我找不到如何做到这一点。
示例代码将不胜感激!如何将自定义NSFormatter设置为NSTextView?

不可能在NSTextView中使用自定义的NSFormatter。 (这似乎是的NSControl省,其中的NSTextField是一个子类)。

然而,可以建立一个委托为您的文本视图的文本存储(NSTextStorage),并实现-textStorageWillProcessEditing:(方法NSTextStorageDelegate);这是您可以约束用户输入的地方。您现有的自定义NSFormatter代码可能适合在那里使用。

+0

谢谢,但我有一个问题:在NSFormatter上,我使用此代码http://pastebin.com/NYFc5AnN使最大长度为256.我怎样才能达到相同的'-textStorageWillProcessEditing:'? –

+0

@PedroVieira你可以在文本存储器中获得文本的长度(这是'NSMutableAttributedString'的一个子类 - 将'length'消息传递给它),并相应地执行。 – trudyscousin

+0

你能给我一个快速的例子吗?我没有达到我想要的。 –