Żadne zdarzenia, takie jak edycja, nie zostały zmienione na NSTextField?


Kiedy tworzyłem na iPhone'a, miałem kilka zdarzeń dotykowych, które mogły być prawdziwe dla przycisku (na przykład edycja zmieniona, edycja zakończona ...)
Teraz, gdy pracuję nad systemem Mac OSX, chcę, aby moja aplikacja rozpoznawała wiele zdarzeń w NSTextField.
Jak to zrobić? Czy jest alternatywa dla wydarzeń?
Podziękować!
EDYCJA: czy delegaci mogą być kluczem?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Musisz ustawić obiekt jako delegata do swojego
NSTextField
. Ponieważ
NSTextField
jest podklasą
NSControl
, wywoła metodę
-controlTextDidChange:
na obiekcie, jeśli ją zaimplementujesz.
@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

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się