将 NSTextView 限制为仅数字
Limit NSTextView to digits only
如何将 NSTextView 限制为仅显示数字? NSFormatter 不适用于 NSTextView,而且我在 NSTextStorage/NSTextContainer 上也找不到任何选项。
您可以响应委托方法
textView:shouldChangeTextInRange:replacementString:
然后检查键入的内容是否为数字(为此使用字符集)。如果是数字,return YES;如果没有,return NO.
或者将键盘类型更改为仅数字。
创建 NSTextView
的子类并覆盖
- (void)insertText:(id)string replacementRange:(NSRange)replacementRange
从 string
中去除非数字并调用 super.
覆盖
- (BOOL)readSelectionFromPasteboard:(NSPasteboard *)pboard type:(NSString *)type
捕捉粘贴和拖放。
如何将 NSTextView 限制为仅显示数字? NSFormatter 不适用于 NSTextView,而且我在 NSTextStorage/NSTextContainer 上也找不到任何选项。
您可以响应委托方法
textView:shouldChangeTextInRange:replacementString:
然后检查键入的内容是否为数字(为此使用字符集)。如果是数字,return YES;如果没有,return NO.
或者将键盘类型更改为仅数字。
创建 NSTextView
的子类并覆盖
- (void)insertText:(id)string replacementRange:(NSRange)replacementRange
从 string
中去除非数字并调用 super.
覆盖
- (BOOL)readSelectionFromPasteboard:(NSPasteboard *)pboard type:(NSString *)type
捕捉粘贴和拖放。