Ho una gerarchia del controller di visualizzazione e il controller più in alto viene visualizzato come modale e vorrei sapere come visualizzare la barra di navigazione durante l'utilizzo
'UIViewController:presentViewController:viewControllerToPresent:animated:completion'
La documentazione per "presentViewController: animated: completamento:" nota:
'Su iPhone e iPod touch, la vista presentata è sempre a schermo intero. Su iPad, la presentazione dipende dal valore nella proprietà modalPresentationStyle. '
Per "modalPresentationStyle", i documenti dicono:
Lo stile di presentazione determina il modo in cui un controller di visualizzazione presentato in modo modale viene visualizzato sullo schermo. Su iPhone e iPod touch, i controller di visualizzazione modale sono sempre presentati a schermo intero, ma su iPad sono disponibili diverse opzioni di presentazione.
C'è un modo per garantire che la barra di navigazione sia visibile sotto la barra di stato una volta che viene visualizzato il controllo della vista? Devo interpretare il documento come se non avessi alcuna opzione su iPhone / iPod e solo su iPad?
In precedenza, stavo usando 'UIViewController:presentModalViewController:animated'
che funzionava bene, ma da iOS 5.0, l'API è stata deprecata, quindi sto passando a quella nuova.
Visivamente, quello che sto cercando di fare è far scorrere il nuovo controller dalla parte inferiore dello schermo, proprio come faceva la vecchia API.
[aggiornamento con codice]:
// My root level view:
UIViewController *vc = [[RootViewController alloc]
initWithNibName:nil
bundle:[NSBundle mainBundle]];
navController = [[UINavigationController alloc] initWithRootViewController:vc];
....
// Within the RootViewController, Second view controller is created and added
// to the hierarchy. It is this view controller that is responsible for
// displaying the DetailView:
SecondTierViewController *t2controller = [[SecondTierViewController alloc]
initWithNibName:nil
bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:t2controller animated:YES];
// Created by SecondTierViewController
DetailViewController *controller = [[DetailViewController alloc] initWithNibName:nil
bundle:[NSBundle mainBundle]];
controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
controller.modalPresentationStyle = UIModalPresentationCurrentContext;
[self.navigationController presentViewController:controller
animated:YES
completion:nil];