2014-07-16 8 views
17

Jestem nowa w stackoverflow, mam problem z nowym szybkim kodem. Mam niestandardowy przycisk powrotu na klawiaturze z "Gotowe", ale kiedy stukam w niego, nic nie spadnie ... Jak mogę ukryć klawiaturę przed dotknięciem go? Dodałem kod (znajdujący się na tej stronie), aby ukryć klawiaturę, gdy naciśniesz gdzieś, a nie na klawiaturze, ale nie mogę tego zrobić, puknij w przycisk "zrobione" ... Dziękuję przed!Klawiatura zrobiona kluczowa akcja swift iOS nie działa

Odpowiedz

53

Yo trzeba zaimplementować metodę delegata, który nazywa się po naciśnięciu przycisku Gotowe:

func textFieldShouldReturn(textField: UITextField!) -> Bool { 
    textField.resignFirstResponder() 
    return true 
} 

trzeba także być zgodne z protokołem UITextFieldDelegate:

class MyViewController: UIViewController,UITextFieldDelegate // I assume you override UIview controller class if not add UITextFieldDelegate to your class 

Ostatnią rzeczą jest skonfigurować swoją klasę jako delegat pola tekstowego:

textField.delegate = self 
+2

Jesteś geniuszem !! Dziękuje!! –

+0

Możesz także użyć Xcode, aby utworzyć połączenie pomiędzy twoim interfejsem i kodem. Zobacz mój wpis poniżej –

+0

dziękuję, pomógł mi –

11
textField.delegate = self 

może być zastąpiony przez enter image description here

stworzy niezbędne połączenia między widok, jego skład i sprawi, że praca metoda textFieldShouldReturn jak oczekiwano.