MacRuby: ограничить NSTextField целыми числами - PullRequest
0 голосов
/ 13 июня 2011

Я просто изучаю основы Cocoa и Interface Builder, используя IB версии 3.2.6.Я хочу узнать, как использовать MacRuby для собственных приложений OS X.

У меня есть NSTextField, в котором я хотел бы принимать только целочисленные значения.Я использовал NSNumberFormatter, но у него нет возможности принимать только целые числа.

Как бы вы это сделали?Это можно сделать в Интерфейсном Разработчике?

1 Ответ

1 голос
/ 13 июля 2011

A naive , но эффективный подход будет заключаться в подклассе NSTextField и (это наивная часть) ovverride textDidChange to force оцифрованного значения в число:

Другими словами, создайте новый файл ruby ​​в папке Classes, добавьте этот код в него и измените класс поля внутри IB (ваш xib> файл, который вы хотите изменить> инспектор> выпадающий список классов)

class OnlyNumbersTextField < NSTextField
    def textDidChange(notification)

        self.setIntValue(self.intValue)

    end
end

Надеюсь, это поможет.

...