UITextField - Capture-Return-Taste Ereignis
-
13-09-2019 - |
Frage
Wie kann ich erkennen, wenn ein Benutzer „Rückkehr“ Tastatur-Taste gedrückt, während UITextField zu bearbeiten? Ich brauche dies zu tun, um Tastatur zu entlassen, wenn der Benutzer die „Return“ -Taste gedrückt wird.
Danke.
Lösung
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return NO;
}
Vergessen Sie nicht, die Delegaten in Storyboard zu setzen ...
Andere Tipps
Delegation ist nicht erforderlich, hier ist ein Einzeiler:
- (void)viewDidLoad {
[textField addTarget:textField
action:@selector(resignFirstResponder)
forControlEvents:UIControlEventEditingDidEndOnExit];
}
Leider kann man nicht direkt das tut in Ihrem Storyboard (Sie können keine Verbindung herstellen Aktionen an die Steuerung, die sie in der Storyboard emittiert), aber man kann es über eine Vermittler Aktion tun.
SWIFT 3.0
override open func viewDidLoad() {
super.viewDidLoad()
textField.addTarget(self, action: #selector(enterPressed), for: .editingDidEndOnExit)
}
in enterPressed () Funktion, um alle Verhaltensweisen setzen Sie nach
func enterPressed(){
//do something with typed text if needed
textField.resignFirstResponder()
}
Swift Version mit UITextFieldDelegate:
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
resignFirstResponder()
return false
}
- (BOOL)textFieldShouldReturn:(UITextField *)txtField
{
[txtField resignFirstResponder];
return NO;
}
Wenn Enter-Taste angeklickt wird dann diese Delegatmethode ist called.you Return-Taste von diesem Delegatmethode erfassen kann.