Question

Je souhaite créer une vue composée uniquement d'un UITextView . Lorsque la vue est affichée pour la première fois, par défaut, j'aimerais que le clavier soit visible et prêt pour la saisie de texte. De cette façon, l'utilisateur n'a pas besoin de toucher le UITextView pour pouvoir 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.

Était-ce utile?

La solution

Pour ce faire, il vous suffit d’envoyer le message devenirFirstResponder à votre UITextField, comme suit (en supposant que vous disposiez d’un point de vente appelé textField pointant vers le champ en question):

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

Autres conseils

Dans Swift

Pour afficher automatiquement le clavier, procédez comme suit:

override func viewDidLoad() {
    super.viewDidLoad()

    // show keyboard
    textView.becomeFirstResponder()
}

Notes

  • Cela suppose que la vue texte est éditable.
  • Fonctionne à la fois pour UITextView et UITextField
  • Pour masquer le clavier, utilisez textView.resignFirstResponder ()

La suite a bien fonctionné pour moi avec Swift

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

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

La clé consiste à utiliser la fonction viewDidAppear.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top