【发布时间】:2017-05-10 12:34:47
【问题描述】:
如何将 NSTextView 限制为仅数字? NSFormatter 不适用于 NSTextView,我在 NSTextStorage/NSTextContainer 上也找不到任何选项。
【问题讨论】:
标签: cocoa nstextview
如何将 NSTextView 限制为仅数字? NSFormatter 不适用于 NSTextView,我在 NSTextStorage/NSTextContainer 上也找不到任何选项。
【问题讨论】:
标签: cocoa nstextview
创建NSTextView 的子类并覆盖
- (void)insertText:(id)string replacementRange:(NSRange)replacementRange
从string 中去除非数字并调用super。
覆盖
- (BOOL)readSelectionFromPasteboard:(NSPasteboard *)pboard type:(NSString *)type
捕捉粘贴和丢弃。
【讨论】:
你可以响应委托方法
textView:shouldChangeTextInRange:replacementString: 然后检查输入的内容是否为数字(为此使用字符集)。如果是数字,返回YES;如果没有,返回NO。
或者可能只将键盘类型更改为数字。
【讨论】: