Ipad 在纵向模式下分割视图!

Ipad 在纵向模式下分割视图!,ipad,Ipad,Apple仅为横向模式提供分割视图,而不为纵向模式提供分割视图。是否有任何方法也可以在纵向模式下实现splitview [splitViewController setHidesMasterViewInPortrait:NO]; 这会奏效的。但是这个API没有文档记录(私有) 谢谢, Manjunath看看这个 它是一个定制的分割视图控制器,具有各种有用的增强功能。当然,您可以在纵向视图中显示主视图。以前,我曾试图实现类似的目标。在尝试了Matt的代码之后,尝试创建一个类别失败了,我意识到实现

Apple仅为横向模式提供分割视图,而不为纵向模式提供分割视图。是否有任何方法也可以在纵向模式下实现splitview

[splitViewController setHidesMasterViewInPortrait:NO];
这会奏效的。但是这个API没有文档记录(私有)

谢谢,
Manjunath

看看这个


它是一个定制的分割视图控制器,具有各种有用的增强功能。当然,您可以在纵向视图中显示主视图。

以前,我曾试图实现类似的目标。在尝试了Matt的代码之后,尝试创建一个类别失败了,我意识到实现这一点的唯一方法(苹果不会拒绝你的应用)是使用两个自定义视图。请参阅问题。

请查看。

有关iOS5+

转到您的
detailViewController
。您的
detailViewController
应该具有
UISplitViewControllerDelegate
。只需输入以下代码:

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

这样就行了。它是公共API

我在这里的小小贡献

Byte的答案在iOS 7之前是正确的。从iOS 8开始,您应该使用
preferredDisplayMode

例如,要在纵向模式下显示两个视图控制器,请执行以下操作:

self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible;

希望这有帮助

在iOS 8 xcode 6+中更新

if let splitVCExists = self.splitViewController{
        splitVCExists.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible
    }    
文件:


我注意到的一点是,只要有足够的空间,它就会尝试基于preferredDisplayMode布局splitviewcontroller。否则,它将选择显示模式以适合内容。我用过它,它在纵向和横向两个方向上展示了我想要的VCs。

链接不再处于活动状态。我很想看看。这在iOS 8中已被弃用。我将UISplitViewController子类化,并将其附加到情节提要和viewdidload put self.preferredDisplayMode=UISplitViewController显示模式AllVisible中的splitview;