UITextField - evento captura botão de retorno
-
13-09-2019 - |
Pergunta
Como posso detectar quando um usuário pressionou "retorno" botão do teclado durante a edição UITextField? Eu preciso fazer isso de forma a dispensar o teclado quando o usuário pressionou o botão "retorno".
Graças.
Solução
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return NO;
}
Não se esqueça de definir o delegado no storyboard ...
Outras dicas
Delegação não é necessário, aqui está uma frase:
- (void)viewDidLoad {
[textField addTarget:textField
action:@selector(resignFirstResponder)
forControlEvents:UIControlEventEditingDidEndOnExit];
}
Infelizmente você não pode fazer diretamente este em sua Storyboard (você não pode ações ligar no comando que emite-los no Storyboard), mas você pode fazê-lo através de uma ação intermediária.
SWIFT 3.0
override open func viewDidLoad() {
super.viewDidLoad()
textField.addTarget(self, action: #selector(enterPressed), for: .editingDidEndOnExit)
}
função em enterPressed () colocar todos os comportamentos que você está depois
func enterPressed(){
//do something with typed text if needed
textField.resignFirstResponder()
}
Versão Swift usando UITextFieldDelegate:
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
resignFirstResponder()
return false
}
- (BOOL)textFieldShouldReturn:(UITextField *)txtField
{
[txtField resignFirstResponder];
return NO;
}
Quando entrar botão é clicado, em seguida, esse método delegado é called.you pode capturar botão de retorno deste método delegado.