将NSTextView限制为仅限数字

时间:2017-05-10 12:34:47

标签: cocoa nstextview

如何将NSTextView限制为仅限数字? NSFormatter不适用于NSTextView,我也无法在NSTextStorage / NSTextContainer上找到任何选项。

2 个答案:

答案 0 :(得分:1)

创建NSTextView的子类并覆盖

- (void)insertText:(id)string replacementRange:(NSRange)replacementRange

string中删除非数字并调用super。

覆盖

- (BOOL)readSelectionFromPasteboard:(NSPasteboard *)pboard type:(NSString *)type

抓住粘贴并掉落。

答案 1 :(得分:0)

您可以回复委托方法

textView:shouldChangeTextInRange:replacementString:然后检查输入的内容是否为数字(为此使用字符集)。如果是数字,则返回YES;如果没有,请返回NO。

或者可能只是将键盘类型更改为数字。