web-dev-qa-db-fra.com

Comment montrer le clavier par défaut dans UITEXTVIEW?

Je souhaite créer une vue qui consiste uniquement à un UITextView. Lorsque la vue est affichée d'abord, par défaut, je voudrais que le clavier soit visible et prêt pour la saisie de texte. De cette façon, l'utilisateur n'a pas à toucher le UITextView d'abord afin de commencer l'édition.

Est-ce possible? Je vois que la classe a une notification appelée UITextViewTextDidBeginEditingNotification mais je ne sais pas comment envoyer cela, ou si c'est même la bonne approche.

34
bpapa

pour accomplir, il suffit d'envoyer le message devenvefirstreresponder à votre Uitextfield, comme suit (en supposant que vous disposiez d'une prise appelée Textfield, pointant vers le champ en question):

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

En swift

Pour afficher automatiquement le clavier, sur ce qui suit:

override func viewDidLoad() {
    super.viewDidLoad()

    // show keyboard
    textView.becomeFirstResponder()
}

Notes

  • Cela suppose que la vue textuelle est modifiable.
  • Fonctionne pour les deux UITextView et UITextField
  • Pour masquer l'utilisation du clavier textView.resignFirstResponder()
11
Suragch

Après avoir fonctionné bien pour moi en utilisant Swift

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

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

La clé est d'utiliser la fonction ViewDididAppEar.

5
Usman