2011-02-06 9 views

Odpowiedz

16

obsługuje mechanizm docelowego działania, więc po prostu podłącz go do celu/działania. Na przykład załóżmy, że masz następujące działania ogłoszony w delegata aplikacji:

- (IBAction)searchAnswer:(id)sender; 

interfejs Builder, Ctrl-przeciągnij pole wyszukiwania do obiektu delegata aplikacji i wybierz akcję searchAnswer:. W jego implementacji użyj -stringValue, aby uzyskać tekst wpisany przez użytkownika w polu wyszukiwania, np.

- (IBAction)searchAnswer:(id)sender { 
    NSLog(@"search answer: %@", [searchField stringValue]); 
} 

Należy zauważyć, że domyślnie pole wyszukiwania wysyła akcję, gdy użytkownik wstrzyma/przestanie pisać. Jeśli chcesz wysłać akcję tylko wtedy, gdy użytkownik wpisze Enter, wybierz pole wyboru Sends Whole Search String w oknie inspektora atrybutów pola wyszukiwania.

+0

Dzięki! Niektóre rzeczy są zbyt proste do zrozumienia, jak sądzę ... – Flafla2

+3

@ Flafla2: Cel/akcja jest na wyższym poziomie niż zdarzenia klawiszy lub myszy. Pole może wysłać swoje działanie, nawet jeśli użytkownik nie ma klawisza Enter lub w ogóle nie ma klawiatury. Przycisk może wysłać swoje działanie, nawet jeśli użytkownik nie ma myszy. Używanie celu/działania oznacza, że ​​możesz otrzymać akcję niezależnie od tego, jakie urządzenia interfejsu użytkownik ma lub nie ma. –

Powiązane problemy