IB バージョン 3.2.6 を使用して、Cocoa と Interface Builder の基本を取り上げています。ネイティブ OS X アプリで MacRuby を使用する方法を学びたいと思っています。
整数値のみを受け入れたい NSTextField があります。NSNumberFormatter を使用しましたが、整数のみを受け入れるオプションがないようです。
これをどのように行いますか?Interface Builderで実行できますか?
単純だが効果的なアプローチは、サブクラス化NSTextField
して (これは単純な部分です) オーバーライドtextDidChange
して、数値化された値を数値に強制することです。
つまり、Classes フォルダーに新しい ruby ファイルを作成し、このコードをそれに追加して、IB 内のフィールド クラスを変更します (xib > 変更するフィールド > インスペクター > クラス ドロップダウン)。
class OnlyNumbersTextField < NSTextField
def textDidChange(notification)
self.setIntValue(self.intValue)
end
end
お役に立てれば。