2014-09-12 7 views
6

Es gibt eine Ansicht mit zwei UITextField- und Login-Schaltflächen. Wenn sich der Benutzer im Passwort befindet, wird die Tastatur mit der Return-Taste "Go" angezeigt. Wie kann ich diese Return-Taste setzen, um von der Login-Taste aus Aktionen durchzuführen, damit der Benutzer die Tastatur nicht schließen und die Login-Taste drücken muss?So legen Sie die Aktion zum Zurückgeben des Schlüssels in ios fest

Vielen Dank im Voraus für die Antwort.

+1

möglich Duplikat [Beste Methode UITextField Test zu speichern: textFieldShouldReturn oder textFieldDidEndEditing] -Einstellung (http://stackoverflow.com/questions/9101542/best-method-to-save -uidextfield-test-textfieldshouldreturn-or-textfielddidended) –

Antwort

13

es ist einfach

  1. youPasswordtextField.delegate = self; // in viewDidLoad oder jedem geeigneten Ort

  2. in Ihrem Controller .h-Datei entsprechen Protokoll UITextFieldDelegate

3.implement Delegatmethode

- (BOOL)textFieldShouldReturn:(UITextField *)textField // this method get called when you tap "Go" 
{ 
    [self loginMethod]; 
    return YES; 
} 

-(void) loginMethod 
{ 
    // implement login functionality and navigate user to next screen 
} 
3

Sie die TextField- Delegate-Methode verwenden, wie unten: -

- (BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    if(self.passwordTextField isFirstResponder){ 
    [self.passwordTextField resignFirstResponder]; //Resign the keyboard. 
    [self loginMethod];  //call your login method here. 
    } 
    //Below case when user tap return key when done with login info then we move focus from login textfield to password textfield so as not making user to do this and for ease of user. 
    else{ 
    [self.loginTextField resignFirstResponder]; 
    [self.passwordTextField becomeFirstResponder]; 
    } 
return YES; 
} 

Vergessen Sie auch nicht, Delegat als zu setzen unten zusammen mit UITextFieldDelegate in yourClass.h

self.passwordTextField.delegate = self; 
self.loginTextField.delegate = self;