Domanda

Voglio creare una vista che consiste esclusivamente in un UITextView . Quando la vista viene visualizzata per la prima volta, per impostazione predefinita, vorrei che la tastiera fosse visibile e pronta per l'inserimento di testo. In questo modo, l'utente non deve toccare prima il UITextView per iniziare la modifica.

È possibile? Vedo che la classe ha una notifica chiamata UITextViewTextDidBeginEditingNotification ma non sono sicuro di come inviarlo o se questo è persino l'approccio giusto.

È stato utile?

Soluzione

per ottenere ciò basta inviare il messaggio cameFirstResponder al tuo UITextField, come segue (supponendo che tu abbia un outlet chiamato textField, che punta al campo in questione):

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

Altri suggerimenti

In Swift

Per mostrare automaticamente la tastiera, a quanto segue:

override func viewDidLoad() {
    super.viewDidLoad()

    // show keyboard
    textView.becomeFirstResponder()
}

Note

  • Ciò presuppone che la vista del testo sia modificabile.
  • Funziona sia per UITextView sia per UITextField
  • Per nascondere la tastiera utilizzare textView.resignFirstResponder()

Seguire ha funzionato bene per me usando Swift

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

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

La chiave è usare la funzione viewDidAppear.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top