在 iPad 12.9'' 分屏上折叠详细视图控制器

Collapse detail view controller on iPad 12.9'' split screen

我正在为我的应用程序构建一个历史部分,它使用 SplitViewController 将日历显示为 Master,将某一天的统计信息显示为 Detail。除了一个烦人的问题外,一切都很好:在 12.9'' iPad 的大屏幕上,当处于横向模式并分成两半时,框架的宽度为 wR 大小 class,这导致 SplitViewController同时显示 Master 和 Detail,后者被压缩并且几乎无法使用:

另一方面,当处于纵向模式和 2/3 分屏时 - 虽然根据 Xcode 它也是一个 wR class - 我的日历大师占据了整个框架,细节崩溃:

在第一种情况下,我也更喜欢这种布局,但很难找到一种强制折叠细节的方法。我尝试将 maximumPrimaryColumnWidth 设置为所需的 678 pt 或更多大小,但没有效果。

有人可以为此提出一个优雅实用的解决方案吗?

是的,这是可能的,制作一个 parent 拆分视图控制器的视图控制器,并使用 setOverrideTraitCollection(_:forChild:) 和 compact 使拆分在屏幕宽度达到一定尺寸时折叠。

以下是 Apple 自适应照片示例中的相关示例:

https://github.com/ios8/AdaptivePhotosAnAdaptiveApplication/blob/master/AdaptivePhotos/AAPLTraitOverrideViewController.m

这里是 WWDC 2014 的视频session 解释它:

https://www.youtube.com/watch?v=lMGnZ5iTmuI