在UISplitViewController中以编程方式在主视图上显示幻灯片

时间:2019-03-22 14:43:43

标签: ios cocoa-touch uikit uisplitviewcontroller

在iPad上以纵向模式使用UISplitViewController时,可以使用我的详细视图控制器的全屏视图。我可以从左侧滑动并显示主视图幻灯片,如何以编程方式触发该幻灯片?

1 个答案:

答案 0 :(得分:1)

似乎没有简单的方法可以执行此操作,但是我发现使用以下代码具有预期的行为:

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)
}