Nota:
Vedi la risposta accettata (non la più votata) per la soluzione a partire da iOS 4.3.
Questa domanda riguarda un comportamento scoperto nella tastiera dell'iPad, in cui si rifiuta di essere respinto se mostrato in una finestra di dialogo modale con un controller di navigazione.
Fondamentalmente, se presento il controller di navigazione con la seguente riga come di seguito:
navigationController.modalPresentationStyle = UIModalPresentationFormSheet;
La tastiera rifiuta di essere respinta. Se commento questa riga, la tastiera scompare bene.
...
Ho due campi di testo, nome utente e password; il nome utente ha un pulsante Avanti e la password ha un pulsante Fine. La tastiera non sparirà se la presento in un controller di navigazione modale.
LAVORI
broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];
[self.view addSubview:b.view];
NON FUNZIONA
broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];
UINavigationController *navigationController =
[[UINavigationController alloc]
initWithRootViewController:b];
navigationController.modalPresentationStyle = UIModalPresentationFormSheet;
navigationController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:navigationController animated:YES];
[navigationController release];
[b release];
Se rimuovo la parte del controller di navigazione e presento 'b' come controller di visualizzazione modale da sola, funziona. Il controller di navigazione è il problema?
LAVORI
broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];
b.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:b animated:YES];
[b release];
LAVORI
broken *b = [[broken alloc] initWithNibName:@"broken" bundle:nil];
UINavigationController *navigationController =
[[UINavigationController alloc]
initWithRootViewController:b];
[self presentModalViewController:navigationController animated:YES];
[navigationController release];
[b release];
UINavigationController
classe. Saluti.
resignFirstResponder
fosse in esecuzione ma la tastiera è ancora visualizzata. Il mio scenario (presentationFormSheet con navigazione contrllr) è esattamente lo stesso del tuo. Grazie mille !!