У мене є ієрархія контролерів перегляду, і найпопулярніший контролер відображається як модальний, і я хотів би знати, як відображати панель навігації при використанні
'UIViewController:presentViewController:viewControllerToPresent:animated:completion'
Документи для 'presentViewController: анімовані: завершення:' Примітка:
'На 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];