У меня довольно сложная проблема, которую я опишу настолько хорошо, насколько это возможно.
У меня есть приложение для iPad и SplitviewController в качестве основного вида.В портретном режиме SplitviewController скрывает табличное представление слева, так что DetailviewController виден только.Пока все хорошо.
То, как вы используете это, насколько я понимаю, заключается в том, что если я коснусь ячейки слева, я заменю подробный вид справа новым видом, который я хочу показать.,Для этого я использую свойство viewControllers.
Теперь для отображения Popover у меня есть панель инструментов вверху и кнопка меню для отображения Popover.
Вот в чем дело:
Я нажимаю на ячейку и заменяю DetailviewController новым Viewcontroller.Но теперь Popovercontroller ушел, так как он был объявлен в заголовке старого ViewController.
Проблема: Когда я нажимаю на кнопку меню в режиме порта, всплывающее окно не может отображаться, поскольку сейчас оно равно нулю, поскольку оно еще не было инициировано.
Но я могу сделать следующее.: Я поворачиваю iPad в горизонтальное положение и снова поворачиваю его.Всплывающее окно возвращается, потому что в методе делегата контроллера splitview происходит следующее:
- (void) splitViewController: (UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController: (UIPopoverController*)pc {
self.popoverController = pc;
}
Откуда этот компьютер?Как я могу сделать это сам.
Если я пытаюсь перераспределить Popovercontroller, это приводит к разрыву SplitviewController и появляются артефакты в приложении.
Надеюсь, я достаточно хорошо объяснил свою проблему.
Есть идеи?