2011-09-23 16 views
38

W jaki sposób programowo ustawiasz fokus na jakieś pole tekstowe w iPhone'ie w wyniku naciśnięcia pola tekstowego?Jak ustawić fokus na pole tekstowe w iphone?

+4

do użytku z ustawieniem ostrości [textfield sięFirstResponder] – Narayana

+0

Zgodnie z wymaganiami .. jeśli chcesz dodać zdarzenie click !! możesz ustawić opcję Pojedyncze kliknięcie, które jest alternatywą dla zdarzenia kliknięcia. [YourtextField addGestureRecognizer: tapGesture]; nie zapomnij zadeklarować gestu przed dodaniem !! –

+4

Nie trudno jest powiedzieć, o co tu chodzi, i jest to całkowicie uzasadnione pytanie. Zamykanie takich pytań nie pomaga społeczności. – devios1

Odpowiedz

20

Dodaj Delegata do pola tekstowego. Możesz śledzić proces opisaną w tym artykule: http://www.roseindia.net/tutorial/iphone/examples/iphone-AddTwoTextField.html

Na zmianę ostrości w locie:

[yourTextField becomeFirstResponder]; 
+0

ta strona pobiera tylko dane wejściowe i umieszcza je w celu wprowadzenia do innego pola tekstowego. zapytałem, jak ustawić fokus (jak setOnFocus w Androidzie) w polu tekstowym i hw, aby utworzyć zdarzenie click dla textfield w iphone. –

+1

Dodanie zdarzenia TouchUpInside dla TextField –

+0

nie działa. – AsimRazaKhan

60

Wystarczy upewnić się firstresponder textField, będzie to również popup klawiatury:

[self.textField becomeFirstResponder]; 

I tylko trochę bardziej typowy przykładowy kod, który może pomóc komuś,

w scenorysie, kliknij jedno z pól tekstowych i ustaw punkty docelowe jako klasę, o której mowa. W tej klasie, w pliku .h upewnić się, że stwierdzenie, że jest to UITextFieldDelegate

@interface Login : UIViewController <UITextFieldDelegate> 

Następnie w pliku .m, można mieć to na przykład ...

-(BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
if (textField == self.loginEmail) { [self.loginPassword becomeFirstResponder]; } 
if (textField == self.loginPassword) { [self yourLoginRoutine]; return YES; } 
return YES; 
} 

Kiedy użytkownik klika przycisk "Dalej" na wirtualnej klawiaturze - w polu "e-mail" - poprawnie przeniesie Cię do pola hasła. Kiedy użytkownik kliknie przycisk "Dalej" na wirtualnej klawiaturze - w polu "hasło" - poprawnie wywoła twój loglogin.

(W scenorysie, na kontrolerze atrybutów, zauważ, że możesz wybrać tekst, który chcesz na klawiaturze Return ... tutaj "Dalej" działałby ładnie na polu e-mail, a "Gotowe" działałoby ładnie na pole hasła.)

Mam nadzieję, że pomoże!

Powiązane problemy