Sto sperimentando un problema con il tastierino numerico quando si scatta l'UIViewController corrente da UINavigationController.Tastiera visualizzata brevemente quando si apre il controller di vista iOS
Nel mio attuale UIViewController. Ho alcuni UITextField e un pulsante "Salva" in UINavigationBar. Il comportamento previsto è il seguente:
Quando l'utente tocca "Salva", la tastiera deve nascondersi e viene eseguita un'operazione di rete. Nel suo callback, viene mostrato un UIAlertView. Quando l'utente respinge questa UIAlertView, una notifica solleva e l'UIViewController attuale effettua
[self.navigationController popViewControllerAnimated:YES];
Il fatto è che se "Salva" viene premuto con la tastiera che mostra ancora, dopo aver eseguito la popViewControllerAnimated, la tastiera appare brevemente e da sinistra a a destra (come se fosse visibile nel precedente UIViewController).
Ho provato
[myTextField resignFirstResponder]
quando utente tocca "Salva", quando l'utente chiude l'UIAlertView, e anche nel metodo
viewWillDisappear
. Altre risposte suggeriscono l'utilizzo di
[self.view endEditing:YES];
ma non funziona neanche.
Se potessi usare la tastiera normale sarebbe banale per ignorare
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
di nasconderlo quando l'utente tocca "Return", "Fine", ecc Ma essendo il tastierino numerico non ti permettere per mostrare che il pulsante "Finisci".
Apprezzerei tutto l'aiuto, Grazie a tutti per il vostro tempo
è necessario aggiungere il pulsante Fatto/Annulla al tastierino numerico. –
Utilizzare [self.view endEditing: YES]; prima di [auto.navigationController popViewControllerAnimated: YES]; – Dev
@ T_77 Ho provato [myTextField setReturnKeyType: UIReturnKeyDone]; e non funziona – LuisSedano