Никакие события, такие как 'Редактирование действительно не Изменялись' для NSTextField?

То, когда я разработал для iPhone I, имело несколько событий на касании, которое могло быть верно для кнопки. (например, Редактирование действительно Изменялось, Редактирование действительно Заканчивало …),

Теперь, когда я разрабатываю для MAC OSX, я хочу, чтобы мое приложение распознало несколько событий в NSTextField.

Как сделать это? Существует ли альтернатива для событий?

Спасибо!

Править: May делегирует быть ключом?

7
задан adrianderbaum 28 February 2010 в 14:10
поделиться

1 ответ

Вам необходимо установить объект в качестве делегата вашего NSTextField . Поскольку NSTextField является подклассом NSControl , он вызовет метод -controlTextDidChange: вашего объекта, если вы его реализуете.

@interface MyObject : NSObject
{
    IBOutlet NSTextField* textField;
}
@end

@implementation MyObject
- (void)awakeFromNib
{
    [textField setDelegate:self];
}

- (void)controlTextDidChange:(NSNotification *)notification
{
    if([notification object] == textField)
    {
        NSLog(@"The contents of the text field changed");
    }
}
@end
25
ответ дан 6 December 2019 в 07:05
поделиться