如何将NSTextView限制为仅限数字? NSFormatter不适用于NSTextView,我也无法在NSTextStorage / NSTextContainer上找到任何选项。
答案 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。
或者可能只是将键盘类型更改为数字。