UISplitViewController выдвигает новый контроллер деталей, не обновляя боковые детали

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

Шаблонный проект от Apple работает как положено. Для тестирования я просто скопировал элементы раскадровки из проекта шаблона в свою собственную раскадровку, дал splitViewController идентификатор раскадровки и скопировал классы.

Когда телефон с плюсом повернут в альбомную ориентацию, он правильно показывает мастер и детали рядом друг с другом. Однако, когда я нажимаю на основную запись, он помещает экземпляр нового подробного контроллера поверх основного содержимого вместо использования вторичного подробного представления справа для содержимого.

Вот как я показываю splitViewController:

    guard let splitViewController = storyboard.instantiateViewController(withIdentifier: "MasterViewController") as? UISplitViewController else { return }

    splitViewController.delegate = self
    splitViewController.preferredDisplayMode = .automatic
    self.conversationWindow = UIWindow(frame: UIScreen.main.bounds)
    self.conversationWindow?.windowLevel = UIWindowLevelNormal + 0.1
    self.conversationWindow?.rootViewController = splitViewController
    self.conversationWindow?.makeKeyAndVisible()

Прежде чем нажать на запись:

Перед нажатием на запись

После нажатия на запись:

После нажатия на запись

Раскадровка:

Раскадровка

Кто-нибудь когда-нибудь испытывал это?


person Aaron Bratcher    schedule 29.11.2017    source источник


Ответы (1)


Нашел свой ответ. Кажется, копирование представлений изменило тип перехода с showDetails на show

person Aaron Bratcher    schedule 29.11.2017