Come faccio a mostrare la tastiera per impostazione predefinita in UITextView?
-
06-07-2019 - |
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.
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 perUITextField
- 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.