Clicar em um campo de texto faz o teclado aparecer. Como oculto quando o usuário pressiona a tecla Enter?
148
Clicar em um campo de texto faz o teclado aparecer. Como oculto quando o usuário pressiona a tecla Enter?
Respostas:
Primeiro, faça o seu arquivo delegar para UITextField
Em seguida, adicione esse método ao seu código.
Adicione também
self.textField.delegate = self;
fonte
Em
viewDidLoad
declarar:[yourTextField setDelegate:self];
Em seguida, inclua a substituição do método delegado:
fonte
setDelegate:
lembrete. Definitivamente tinha esquecido e o código não estava funcionando anteriormente.Tente isso em Swift ,
Etapa 1: defina o delegado como seu próprio
textField
Etapa 2: adicione este UITextFieldDelegate abaixo da sua declaração de classe,
fonte
No Swift, faça o seguinte:
Primeiro no seu
ViewController
implemento,UITextFieldDelegate
por exemplo.Agora adicione um delegado a um
TextField
no qual você deseja descartar o teclado quando o retorno for tocado noviewDidLoad
método como abaixo ou onde você o está inicializando. Por exemplo.Agora adicione este método.
fonte
Tente isso,
Em seguida, no método delegado textField
fonte
Para definir o método delegate
UITextField
e over ride,textFieldShouldReturn
nesse método, basta escrever as seguintes duas linhas:é isso aí. Antes de escrever um código, não se esqueça de definir o delegado de um
UITextField
e definir o tipo de chave Return como "Concluído" na janela de propriedades (comando + shift + I).fonte
Você pode conectar "Ação primária acionada" (clique com o botão direito do mouse em UITextField) com uma IBAction e pode renunciar ao primeiro atendimento (sem delegação). Exemplo (Swift 4):
fonte
Swift 4
Defina delegar
UITextField
no controlador de exibiçãofield.delegate = self
e, em seguida:fonte
Se você deseja ocultar o teclado para um uso específico do teclado
[self.view resignFirstResponder];
Se você deseja ocultar qualquer teclado da vista, use[self.view endEditing:true];
fonte
Usa isto
fonte
Ok, acho que para um iniciante as coisas podem ser um pouco confusas. Eu acho que a resposta correta é uma mistura de todos os itens acima, pelo menos no Swift4.
Crie uma extensão ou use o ViewController no qual você deseja usar isso, mas certifique-se de implementar o UITextFieldDelegate. Por uma questão de reutilização, achei mais fácil usar uma extensão:
Adicione o método textFieldShouldReturn (dependendo da opção anterior, na extensão ou no seu ViewController)
No seu método viewDidLoad, defina o delegado do campo de texto como auto
Isso deve ser tudo. Agora, quando você pressiona
return
o botãotextFieldShouldReturn
deve ser chamado.fonte
Defina esta classe e defina seu campo de texto para usá-la, e isso automatiza todo o teclado oculto quando o retorno é pressionado automaticamente.
Então, tudo o que você precisa fazer no storyboard é definir os campos para usar a classe:
fonte