在iPad上以纵向模式使用UISplitViewController
时,我会看到我的详细视图控制器的全屏视图。我可以从左侧滑动并显示主视图滑过,如何以编程方式触发此幻灯片?
似乎没有简单的方法可以做到这一点,但我发现使用以下代码具有预期的行为:
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)
}