2012-10-16 51 views

回答

1

不可能在NSTextView中使用自定義的NSFormatter。 (這似乎是的NSControl省,其中的NSTextField是一個子類)。

然而,可以建立一個委託爲您的文本視圖的文本存儲(NSTextStorage),並實現-textStorageWillProcessEditing:(方法NSTextStorageDelegate);這是您可以約束用戶輸入的地方。您現有的自定義NSFormatter代碼可能適合在那裏使用。

+0

謝謝,但我有一個問題:在NSFormatter上,我使用此代碼http://pastebin.com/NYFc5AnN使最大長度爲256.我怎樣才能達到相同的'-textStorageWillProcessEditing:'? –

+0

@PedroVieira你可以在文本存儲器中獲得文本的長度(這是'NSMutableAttributedString'的一個子類 - 將'length'消息傳遞給它),並相應地執行。 – trudyscousin

+0

你能給我一個快速的例子嗎?我沒有達到我想要的。 –

相關問題