我只是在学习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/

10-13 08:44