У меня есть иерархия контроллеров представления, и самый верхний контроллер отображается как модальный и хотел бы знать, как отображать панель навигации при использовании
'UIViewController:presentViewController:viewControllerToPresent:animated:completion'
Документы для 'presentViewController: animated:завершение: 'примечание:
' На iPhone и iPod touch представленный вид всегда является полноэкранным.На iPad презентация зависит от значения в свойстве modalPresentationStyle. '
Для' modalPresentationStyle 'документы говорят:
Стиль презентации определяет способ представления модально.Вид контроллера отображается на экране.На iPhone и iPod touch контроллеры модального представления всегда представлены в полноэкранном режиме, но на iPad есть несколько различных вариантов представления.
Есть ли способ гарантировать, что панель навигации будет видна под строкой состояния, когда элемент управления представлением отобразится сам?Должен ли я интерпретировать документ как, у вас нет вариантов iPhone / iPod и только на iPad?
Раньше я использовал 'UIViewController:presentModalViewController:animated'
, который работал нормально, но с iOS 5.0 API былустарел, поэтому я переключаюсь на новый.
Визуально, я хочу сделать, чтобы новый контроллер выдвигался из нижней части экрана, как это делал старый API.
[обновление с кодом]:
// 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];