Pergunta

Eu quero criar uma exibição que consiste unicamente de um UITextView. Quando a vista é exibido pela primeira vez, por padrão, eu gostaria que o teclado para ser visível e pronto para entrada de texto. Desta forma, o usuário não tem que tocar o UITextView primeiro, a fim de começar a editar.

Isso é possível? Eu vejo a classe tem uma notificação chamada UITextViewTextDidBeginEditingNotification mas eu não tenho certeza de como enviar isso, ou se isso é mesmo a abordagem correta.

Foi útil?

Solução

para conseguir isso basta enviar a mensagem becomeFirstResponder ao seu UITextField, como segue (supondo que você tem uma saída chamada textField, apontando para o campo em questão):

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [textField becomeFirstResponder];
}

Outras dicas

Em Swift

Para mostrar automaticamente o teclado, com o seguinte:

override func viewDidLoad() {
    super.viewDidLoad()

    // show keyboard
    textView.becomeFirstResponder()
}

Notas

  • Isto pressupõe que a exibição de texto é editável.
  • funciona tanto para UITextView e UITextField
  • Para ocultar a textView.resignFirstResponder() uso do teclado

A seguir bem trabalhado para mim usando Swift

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)

    // Show keyboard by default
    billField.becomeFirstResponder()
}

Key é usar a função viewDidAppear.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top