Jestem zaskoczony, że nie mogę znaleźć odpowiedzi na to proste zadanie. Chcę tylko, aby użytkownik wpisał tekst, naciśnij klawisz Enter, a aplikacja będzie wiedzieć, co wpisał. Jak to zrobić?Wywołanie funkcji, gdy użytkownik naciśnie klawisz Enter w NSSearchField?
5
A
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.
Powiązane problemy
- 1. Jak wykrywać, kiedy użytkownik naciśnie Enter w polu wejściowym
- 2. jquery contenteditable wpisz "Jak wywołać shift-enter, gdy ktoś naciśnie klawisz Enter?"
- 3. Co się stanie, gdy użytkownik naciśnie przycisk Zatrzymaj w przeglądarce?
- 4. Otrzymywanie powiadomień, gdy użytkownik naciśnie "Wyszukaj" na klawiaturze w UISearchDisplayController
- 5. Flex 4 wykrywa, jeśli użytkownik wpisze klawisz
- 6. Sterowanie Matlab + klawisz Enter na rysunku
- 7. Wywołanie klawisza Enter
- 8. Zapobieganie "klawisz Enter", aby uruchomić TextWatcher
- 9. VBS - Jak zatrzymać skrypt, dopóki użytkownik nie naciśnie klawisza?
- 10. JSF wywołanie metody fasoli z tekstu wejściowego, gdy naciskając klawisz ENTER
- 11. Jak wykryć, kiedy użytkownik naciśnie klawisz Esc i zrobić coś w skrypcie powłoki
- 12. Jak obsłużyć klawisz Enter Korzystanie z funkcji TextWatcher na Androidzie
- 13. Naciśnij klawisz Enter, aby kontynuować w C
- 14. Disable enter submit
- 15. e. Której klawisz ENTER jest aktywny tylko wtedy, gdy pole wejściowe ogniskowania
- 16. Jak powiązać klawisz Enter z funkcją w urządzeniu Tkinter?
- 17. Jak przechwycić klawisz Enter w formach okien combobox
- 18. Automatyczne uruchamianie klawiatury w systemie Linux, gdy użytkownik naciśnie edytowalne komponenty interfejsu użytkownika
- 19. Korzystając z AttachConsole, użytkownik musi nacisnąć klawisz Enter, aby uzyskać regularną linię komend:
- 20. Jak czekać 20 sekund, aby użytkownik nacisnął dowolny klawisz?
- 21. Wywołanie zdarzenia Escape naciśnij klawisz przez jquery
- 22. Zdarzenie Fire na klawisz Enter naciśnij pole tekstowe
- 23. Angular2 wywołanie funkcji, gdy wejście Zmienia
- 24. Jak można uniknąć wielokrotnego strzelania zdarzeniem onClick, gdy użytkownik naciśnie przycisk więcej niż raz, naprawdę szybko?
- 25. Jak uniknąć wycieku pamięci, gdy użytkownik naciśnie klawisze Ctrl + C pod Linuksem?
- 26. Klawisz Enter nie otwiera się w menu rozwijanym Mozilla
- 27. Jak sprawdzić, kiedy naciśnięto klawisz Enter w TextBox?
- 28. Jak mogę odebrać naciśnięty klawisz Enter w JavaFX2?
- 29. dane zamiarze nie wyczyszczenie gdy użytkownik naciśnie przycisk wówczas najnowsze aplikacje przycisk
- 30. Jak sprawdzić, czy użytkownik naciska klawisz?
Dzięki! Niektóre rzeczy są zbyt proste do zrozumienia, jak sądzę ... – Flafla2
@ 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. –