2009-07-24 30 views
0

So blendet Tastatur durch Returnkey drückenDeaktivieren Tastatur

+3

Bitte erläutern. – VolkerK

+0

Ich nehme an, das ist eine iPhone Frage, keine Mac Frage ... –

+0

Dies ist ein Duplikat von http://stackoverflow.com/questions/389825/dismiss-iphone-keyboard –

Antwort

2

Die Tastatur zeigt nur auf, wenn etwas bearbeitet werden (in der Regel ein UITextField) das erste Responder worden ist. Um die Tastatur auszuschalten, müssen Sie daher das textField nicht mehr zum erstenResponder machen. Glücklicherweise ist es eine Zeile Code:

[myTextField resignFirstResponder]; 
2

Sie wirklich brauchen, um weitere Informationen mit Ihrer Frage sind, aber ich denke, das könnte sein, was Sie suchen:

Zuerst machen Sie Ihre View-Controller implementieren die UITextFieldDelegate:

@interface MainViewController : UIViewController <UITextFieldDelegate> { 

Dann diese Methode, um den Controller hinzuzufügen:

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    [textField resignFirstResponder]; 
    return YES; 
} 

Lesen Sie die UITextFieldDelegate documentation, um zu sehen, was Sie sonst noch tun können.

4

Es gibt ein paar Dinge, die Sie sich merken müssen. Die Zahl # 1 Teil Entwickler vergessen zu setzen ist der Delegat des TextField.

Wenn Sie den Interface Builder verwenden, müssen Sie daran denken, dass Sie den Delegaten von textField auf den Dateibesitzer festlegen müssen.

alt text http://www.thoughtblog.com/imgs/delegate.png

Wenn Sie nicht Interface Builder verwenden, dann stellen Sie sicher, die Delegierten des Textfeldes auf Selbst gesetzt. Ich schließe auch den returnType ein. Wenn das Textfeld für Beispiel wurde genannt Spielfeld:

gameField.delegate = self; 
gameField.returnType = UIReturnKeyDone; 

Sie müssen auch die UITextFieldDelegate für Ihren Viewcontroller implementieren.

@interface YourViewController : UIViewController <UITextFieldDelegate> 

Schließlich müssen Sie die textFieldShouldReturn Methode verwenden und [Textfield ResignFirstResponder]

-(BOOL) textFieldShouldReturn:(UITextField*) textField { 
    [textField resignFirstResponder]; 
    return YES; 
} 

Alle Ihre Textfelder diese gleiche Methode verwenden, rufen, so dass Sie nur einmal diese Einstellung haben müssen. Solange der Delegat für das textField festgelegt ist, wird das UITextFieldDelegate für die Schnittstelle implementiert, Sie fügen die textFieldShouldReturn-Methode hinzu und rufen das resignFirstResponder-Set auf.

0

Verwenden Sie diese zwei Methoden:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { 
     activeTextField = textField; 
     return YES; 
    } 

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
     activeTextField = nil; 
     [txtPassword resignFirstResponder]; 
     [txtUserName resignFirstResponder]; 
     return YES; 
    } 

Bitte stellen Sie sicher, dass Sie die Delegierten zu jedem Textfelder gegeben haben. Dafür solltest du zur Ansicht gehen. Rechtsklick . Legen Sie den Delegaten zum Anzeigen fest.

Verwandte Themen