将NSTextField输入仅限于数字? NSNumberformatter [英] Restrict NSTextField input to numeric only? NSNumberformatter

查看:781
本文介绍了将NSTextField输入仅限于数字? NSNumberformatter的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚开始使用Mac应用程序开发,到目前为止一切都很好,我只是有问题想获得一个NSTextField只接受输入的数字。



到目前为止,我已经添加了一个格式化程序到NSTextField,并设置为只允许十进制现在,当我在字段中输入字母,它仍然允许我,但不允许我完成后单击出单元格。



理想情况下,我希望应用程序不要让用户输入任何字母,只发出哔哔声或什么也不做。

c> >并实现此方法:

   - (BOOL)isPartialStringValid:(NSString **)partialStringPtr 
proposedSelectedRange:(NSRangePointer )recommendedSelRangePtr
originalString:(NSString *)origString
originalSelectedRange:(NSRange)origSelRange
errorDescription:(NSString **)error


I'm just getting started up with Mac App Development and so far everything is good well, I'm just having problems trying to get a NSTextField to only accept numbers for the input.

So far I have added a formatter to the NSTextField and set it to only allow decimal now when I enter letters in the field it still allows me but does not allow my to click out of the cell when done.

Ideally I would like the app not to let the user type in any letters and just beep or do nothing.

Any tips or pointers on this would be great

解决方案

Subclass NSNumberFormatter and implement this method:

- (BOOL)isPartialStringValid:(NSString **)partialStringPtr
       proposedSelectedRange:(NSRangePointer)proposedSelRangePtr
              originalString:(NSString *)origString
       originalSelectedRange:(NSRange)origSelRange
            errorDescription:(NSString **)error

这篇关于将NSTextField输入仅限于数字? NSNumberformatter的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆