2012-10-16 55 views

回答

1

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

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

+0

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

+0

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

+0

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

相关问题