Программно показать слайд поверх основного вида в UISplitViewController - PullRequest
0 голосов
/ 22 марта 2019

При использовании UISplitViewController в портретном режиме на iPad мне предоставляется полноэкранный вид моего контроллера детального просмотра, который предназначен. Я могу скользить слева и показать слайд основного вида, как я могу запустить этот слайд программно?

1 Ответ

1 голос
/ 22 марта 2019

Кажется, нет простого способа сделать это, но я обнаружил, что использование следующего кода имеет ожидаемое поведение:

UIView.animate(withDuration: 0.2, animations: {
  self.splitViewController?.preferredDisplayMode = .primaryOverlay
})

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

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
  super.viewWillTransition(to: size, with: coordinator)

  coordinator.animate(alongsideTransition: { _ in
    if UIDevice.current.orientation == .landscapeLeft || UIDevice.current.orientation == .landscapeRight {
      self.splitViewController?.preferredDisplayMode = .automatic
    }
  }, completion: nil)
}
...