У меня есть UISplitViewController, где я хочу всегда отображать главные и подробные контроллеры представлений для iPads. Эта линия заботится о том, что для меня:UISplitViewController обнаружение Задняя кнопка нажата
// Always display master and detail in large screens
self.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible
В prepareForSegue, при открытии контроллеров просматривать детали, у меня есть следующие строки кода для кнопки Назад
controller.navigationItem.leftBarButtonItem = self.splitViewController?.displayModeButtonItem()
controller.navigationItem.leftItemsSupplementBackButton = true
Теперь, когда пользователь нажмите эту кнопку назад, я хочу выполнить действие после того, как скрыт главный контроллер. Мне не повезло найти, как это сделать. В SplitViewControllerDelegate я пытался использовать:
func splitViewController(svc: UISplitViewController, willChangeToDisplayMode displayMode: UISplitViewControllerDisplayMode)
Но эта функция вызывается до контроллера Детальный вид становится весь экран. Есть ли функция или что-то еще, что я могу сделать, чтобы уведомить меня, когда UISplitViewController заканчивает скрывать главный вид?
насчет сдачи его в 'viewDidDisappear' для контроллера мастера зрения? – aganders3
Я положил инструкции println в viewDidDisappear, viewWillDisappear, viewWillAppear, и они не вызывается, когда я показываю и скрываю контроллер главного представления. –
@MikeWalker вам повезло? – Steve