Ipad UISplitViewController应为iOS 4.3设计ViewController

Ipad UISplitViewController应为iOS 4.3设计ViewController,ipad,ios5,ios4,uisplitviewcontroller,Ipad,Ios5,Ios4,Uisplitviewcontroller,我正在将我的iPhone应用程序转换为iPad并使用 -(BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation { return NO; } 始终保持双窗格布局。不幸的是,这是在iOS5中引入的。我曾经看到有人提到过在iOS 5之前以编程方

我正在将我的iPhone应用程序转换为iPad并使用

-(BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation
{
    return NO;
}

始终保持双窗格布局。不幸的是,这是在iOS5中引入的。我曾经看到有人提到过在iOS 5之前以编程方式进行此操作,但没有找到任何示例代码。有人有什么建议吗?

这个区域有点滑,因为苹果一直在5.0、5.1和6.0中调整splitview和rotation

不必轻率,但如果你可以将你的应用程序移动到5.0版本,这将是实现目标的最简单方法

如果您想自己做这件事,您基本上需要劫持popover并在您自己的框架中重新实现。有一种方法称为:

- (void)splitViewController:(UISplitViewController *)splitController willHideViewController:(UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)newpopoverController
在这种方法中,您可以获取viewController并将其存储

然后在纵向使用时进行感应:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
,您需要抓取细节视图并对其进行调整-为左侧的新帧腾出空间,您可以使用在上一个方法中抓取引用的视图控制器填充该帧

这有点像变戏法

如果你真的,真的需要保持4.3的兼容性,并且你想要这个功能,我建议你看看Matt Gemmell开发的名为MGSplitViewController的开源SplitView控制器-你可以在这里找到它:

他的实现非常好,不仅可以为您提供该功能,还可以提供与屏幕上的视图位置相关的其他几个选项

然而,现在是滑坡开始的地方,Matt已经有几年没有更新代码了(尽管有一些分叉已经更新),并且随着应用程序的发展,可能会变得难以维护

如果没有其他内容,那么它确实包含了完全符合您需要的代码,因此它将是帮助您完成项目的极好参考

很抱歉,我无法提供完整的配方,但实际上,无论您是使用它还是仅将其用作参考,该库都应该有所帮助


祝您好运

全面回复-谢谢。我将研究github项目,但可能会坚持目前的策略,即为4.3落后者提供类似iPhone的单视图布局。再次感谢。