Ich habe eine Ansichts-Controller-Hierarchie und der oberste Controller wird als Modal angezeigt und möchte wissen, wie die Navigationsleiste bei Verwendung angezeigt wird
'UIViewController:presentViewController:viewControllerToPresent:animated:completion'
Die Dokumente für 'presentViewController: animiert: Vervollständigung:' Hinweis:
'Auf dem iPhone und iPod touch ist die dargestellte Ansicht immer im Vollbildmodus. Auf dem iPad hängt die Präsentation vom Wert in der Eigenschaft modalPresentationStyle ab. '
Für 'modalPresentationStyle' sagen die Dokumente:
Der Präsentationsstil bestimmt, wie ein modal präsentierter Ansichts-Controller auf dem Bildschirm angezeigt wird. Auf dem iPhone und iPod touch werden Modal View Controller immer im Vollbildmodus angezeigt. Auf dem iPad gibt es jedoch verschiedene Präsentationsoptionen.
Gibt es eine Möglichkeit, um sicherzustellen, dass die Navigationsleiste unterhalb der Statusleiste sichtbar ist, sobald sich das Ansichtssteuerelement selbst anzeigt? Sollte ich das Dokument so interpretieren, dass Sie keine Optionen für iPhone / iPod und nur für iPad erhalten?
Früher habe ich verwendet, 'UIViewController:presentModalViewController:animated'
was gut funktioniert hat, aber seit iOS 5.0 ist die API veraltet, sodass ich auf die neue umsteige.
Visuell möchte ich, dass der neue Controller vom unteren Bildschirmrand eingeblendet wird, genau wie die alte API.
[Aktualisierung mit Code]:
// 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];