Переход от подробностей UISplitViewController к мастеру Когда мастер является UITabBarController?

Я хочу перейти от детали (представление карты) к первой вкладке в мастере (UITabBarController), когда выбрана выноска аннотации. Эта первая вкладка представляет собой табличное представление, которое я хочу обновить.

Если я перехожу к представлению таблицы и использую стиль перехода «заменить», я теряю панель вкладок. Если я выбираю «push», я получаю ошибку времени выполнения, что приемник не является навигационным контроллером.

Я думаю, я мог бы перейти к контроллеру панели вкладок, установить логическое значение в представлении карты, а затем пройти через переходы, чтобы догнать то, где я хочу быть (представление таблицы), или использовать делегат приложения, но я хотел бы более элегантное решение, если оно доступно.


person Michael Mangold    schedule 07.05.2012    source источник


Ответы (1)


Если я правильно понимаю ваше требование, у вас есть UITabBarController с некоторыми вкладками, который затем хочет временно поместить на него подробное представление (карту). Когда представление карты закрыто, вы хотите вернуться к тому же начальному UITabBarController?

Для этого лучшим решением было бы сделать представление карты «модальным» — в этом случае оно заняло бы весь экран. Просто будьте осторожны, так как вы не можете закрыть модальный экран сам по себе - в идеале он должен быть удален из контроллера представления, который его показал в первую очередь. Например, в методе prepareForSegue класса, который отправляет контроллер модального представления, вы можете передать ссылку на себя или использовать делегат:

[modalViewController setParent:self];

Затем в модальном классе, когда какая-либо кнопка или другое событие вызывает отклонение, вы можете иметь:

[parent.modalViewController dismissModalViewControllerAnimated:YES];

См.: http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html для более подробной информации.

person drb9979    schedule 08.05.2012
comment
Спасибо за ответ. Я хочу обновить мастер из детали, используя переход. Я не хочу нажимать деталь (карту) на мастер. - person Michael Mangold; 08.05.2012