UITextField - evento pulsante di ritorno di acquisizione
-
13-09-2019 - |
Domanda
Come faccio a rilevare quando il tasto della tastiera "ritorno" di un utente ha premuto durante la modifica UITextField? Ho bisogno di fare questo al fine di respingere la tastiera quando l'utente preme il pulsante "ritorno".
Grazie.
Soluzione
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return NO;
}
Non dimenticare di impostare il delegato in storyboard ...
Altri suggerimenti
Delegazione non è richiesto, ecco una battuta:
- (void)viewDidLoad {
[textField addTarget:textField
action:@selector(resignFirstResponder)
forControlEvents:UIControlEventEditingDidEndOnExit];
}
Purtroppo non è possibile farlo direttamente questo nella vostra Storyboard (non è possibile connettersi azioni per il controllo che li emette in Storyboard), ma si potrebbe farlo tramite un'azione intermediario.
SWIFT 3.0
override open func viewDidLoad() {
super.viewDidLoad()
textField.addTarget(self, action: #selector(enterPressed), for: .editingDidEndOnExit)
}
in enterPressed () funzione di mettere tutti i comportamenti che stai dopo
func enterPressed(){
//do something with typed text if needed
textField.resignFirstResponder()
}
Versione Swift utilizza UITextFieldDelegate:
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
resignFirstResponder()
return false
}
- (BOOL)textFieldShouldReturn:(UITextField *)txtField
{
[txtField resignFirstResponder];
return NO;
}
Quando il bottone ENTER si fa clic su questo metodo delegato è called.you può catturare pulsante di ritorno da questo metodo delegato.