Пользовательский NSFormatter для Textfield в XCode 4 - PullRequest
0 голосов
/ 20 февраля 2012

Я пытаюсь использовать свой класс, который переопределяет NSFormatter в приложении OS X.Я попробовал пример из книги, но это из более старой версии XCode.Моя проблема в том, что я не знаю, как установить форматтер моего NSTextfield.Я не уверен, что что-то изменилось сейчас, когда в Xcoded есть встроенный IB, или я делаю что-то еще неправильно.Похоже, вы привыкли контролировать щелчок по текстовому полю, и это вызовет меню.В разделе розеток меню написано, что я должен увидеть выбор «форматера».Это не указано в разделе моих торговых точек меню.

Я не думаю, что это имеет значение, но мое поле NSText находится в NSScrollview.Я все еще очень плохо знаком с Какао (происходит из C # и C ++).

1 Ответ

1 голос
/ 20 февраля 2012

Вы можете просто создать подкласс NSNumberFormatter следующим образом:

в .h

@interface NumberFormatterSubclass : NSNumberFormatter {

}

@end

в .m

@implementation NumberFormatterSubclass


- (BOOL)isPartialStringValid:(NSString **)partialString
   proposedSelectedRange:(NSRangePointer)proposedSelRange
          originalString:(NSString *)origString
   originalSelectedRange:(NSRange)origSelRange
        errorDescription:(NSString **)error 
{

    if ([*partialString length] > 4) { 
        return NO;
    }


    return YES;
}

Не забудьте добавить NSNumberFormatter в NSTextField и изменить класс NSNumberFormatter на созданный вами подкласс в удостоверенииинспектор .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...