0

IB バージョン 3.2.6 を使用して、Cocoa と Interface Builder の基本を取り上げています。ネイティブ OS X アプリで MacRuby を使用する方法を学びたいと思っています。

整数値のみを受け入れたい NSTextField があります。NSNumberFormatter を使用しましたが、整数のみを受け入れるオプションがないようです。

これをどのように行いますか?Interface Builderで実行できますか?

4

1 に答える 1

1

単純だが効果的なアプローチは、サブクラス化NSTextFieldして (これは単純な部分です) オーバーライドtextDidChangeして、数値化された値を数値に強制することです。

つまり、Classes フォルダーに新しい ruby​​ ファイルを作成し、このコードをそれに追加して、IB 内のフィールド クラスを変更します (xib > 変更するフィールド > インスペクター > クラス ドロップダウン)。

class OnlyNumbersTextField < NSTextField
    def textDidChange(notification)

        self.setIntValue(self.intValue)

    end
end

お役に立てれば。

于 2011-07-13T16:44:45.267 に答える