0

我只是在学习 Cocoa 和 Interface Builder 的基础知识——使用 IB 版本 3.2.6。我正在寻找学习如何将 MacRuby 用于本机 OS X 应用程序。

我有一个我只想接受整数值的 NSTextField。我使用了 NSNumberFormatter 但它似乎没有只接受整数的选项。

你会怎么做?可以在 Interface Builder 中完成吗?

4

1 回答 1

1

一种天真的但有效的方法是子类化NSTextField和(这是天真的部分) ovverridetextDidChange将数字值强制为一个数字:

换句话说,在您的 Classes 文件夹中创建一个新的 ruby​​ 文件,将此代码添加到它并更改 IB 中的字段类(您的 xib > 您要更改的文件 > 检查器 > 类下拉菜单)

class OnlyNumbersTextField < NSTextField
    def textDidChange(notification)

        self.setIntValue(self.intValue)

    end
end

希望这可以帮助。

于 2011-07-13T16:44:45.267 回答