我只是在学习Cocoa和Interface Builder的基础知识-使用IB版本3.2.6。我正在寻找如何将MacRuby用于本机OS X应用程序。
我有一个NSTextField,我只想接受整数值。我使用了NSNumberFormatter,但似乎没有选择仅接受整数。
你会怎么做?可以在Interface Builder中完成吗?
最佳答案
幼稚但有效的方法是将NSTextField
子类化,然后将ovverride textDidChange
子类化(这是幼稚的部分),以将数字值强制为数字:
换句话说,在您的Classes文件夹中创建一个新的ruby文件,将此代码添加到It中并更改IB内部的字段类(您的xib>要更改的文件>检查器>类下拉列表)
class OnlyNumbersTextField < NSTextField
def textDidChange(notification)
self.setIntValue(self.intValue)
end
end
希望这可以帮助。
关于cocoa - MacRuby:将NSTextField限制为整数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6333019/