这个区域有点滑,因为 Apple 一直在 5.0、5.1 和 6.0 中调整拆分视图和旋转
不是翻转,但如果您可以将您的应用程序移动到需要 5.0,这将是实现您的目标的最简单方法。
如果您想自己执行此操作,则基本上需要劫持弹出框并在您自己的框架中重新实现。有一种方法叫:
- (void)splitViewController:(UISplitViewController *)splitController willHideViewController:(UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)newpopoverController
在此方法中,您可以抓取 viewController 并将其存储。
然后在纵向使用时感应:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
,您需要获取详细视图并对其进行调整 - 为左侧的新框架腾出空间,您可以使用从上一个方法中获取参考的视图控制器填充该框架。
它有点杂耍。
如果您真的非常需要保持 4.3 的兼容性并且想要该功能,我建议您查看由 Matt Gemmell 开发的名为 MGSplitViewController 的开源 SplitView 控制器 - 您可以在此处找到它:https ://github.com/mattgemmell /MGSplitViewController。
他的实现非常好,不仅会为您提供该功能,还会为您提供与屏幕上的视图位置相关的其他几个选项。
现在这里是滑坡开始的地方,Matt 已经有几年没有更新代码了(尽管有一些分支已经更新了),并且随着您的应用程序向前推进,可能会变得难以维护。
如果没有别的,它确实包含完全符合您想要做的代码,因此它将是帮助您完成项目的绝佳参考。
抱歉,我无法提供完整的配方,但实际上,无论您使用它还是仅将其用作参考,该库都应该有所帮助。
祝你好运