我只是在学习 Cocoa 和 Interface Builder 的基础知识——使用 IB 版本 3.2.6。我正在寻找学习如何将 MacRuby 用于本机 OS X 应用程序。
我有一个我只想接受整数值的 NSTextField。我使用了 NSNumberFormatter 但它似乎没有只接受整数的选项。
你会怎么做?可以在 Interface Builder 中完成吗?
一种天真的但有效的方法是子类化NSTextField
和(这是天真的部分) ovverridetextDidChange
将数字值强制为一个数字:
换句话说,在您的 Classes 文件夹中创建一个新的 ruby 文件,将此代码添加到它并更改 IB 中的字段类(您的 xib > 您要更改的文件 > 检查器 > 类下拉菜单)
class OnlyNumbersTextField < NSTextField
def textDidChange(notification)
self.setIntValue(self.intValue)
end
end
希望这可以帮助。