iPad SplitViewController与纵向模式菜单,如设置应用程序

Sma*_*vil 30 ipad uisplitviewcontroller

我想在我的iPad应用程序上获取一个SplitView,我的左侧菜单是纵向,如iPad设置.目前在纵向方向上,我有一个全屏内容视图,我在NavigationBar上有一个按钮,其中包含一个带有左侧菜单的弹出窗口.

Cor*_*uff 49

这是你需要的魔力:

此方法位于UISplitViewControllerDelegate中,可在iOS 5.0上使用

- (BOOL)splitViewController: (UISplitViewController*)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation  __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0);
{
    return NO;
}
Run Code Online (Sandbox Code Playgroud)

  • 这在iOS 8中已弃用.对于iOS 8及更高版本,请将"preferredDisplayMode"属性设置为"UISplitViewControllerDisplayModeAllVisible". (10认同)

sam*_*tte 11

你一定要看看Matt Gemmell的MGSplitViewController.

MGSplitViewController是UISplitViewController的开源替代品,具有各种有用的增强功能.


ken*_*ytm 9

不幸的是,它是一种未记录的方法(即私有API).

[splitViewController setHidesMasterViewInPortrait:NO];
Run Code Online (Sandbox Code Playgroud)

我认为你需要创建一个自定义视图控制器,包含一个表视图(作为主控制器)和另一个通用子视图(作为细节控制器)来模拟这个.

  • 虽然,请记住:有时Apple"无记录"是一种选择,因为他们希望成为唯一使用该效果的人.在这种情况下,他们多次拒绝仅通过更改来模拟私有API的应用程序.当"过于接近""更多"标签栏控制器的"编辑"功能的"外观和感觉"时,我就会发生这种情况.他们将你可以安排的图标限制在16个.我试图实现看起来像这样的东西......他们拒绝了我说它可能会使用户感到困惑,如果我的功能与他们的相近但不是相同的(即:我的)做了一点..允许超过16). (3认同)

Kri*_*son 8

获得所需效果的最简单方法可能是不使用UISplitView.相反,只需创建一个普通视图,在左侧放置一个表格视图,在右侧放置您的详细视图,然后适当地设置自动调整大小的内容,使所有内容在纵向和横向都看起来正确.


ccw*_*den 5

由于shouldHideViewController在iOS8中已弃用,因此您需要使用它(Swift):

splitViewController.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible
Run Code Online (Sandbox Code Playgroud)


nin*_*een 5

正如ccwasden所说,从iOS8开始shouldHideViewController被弃用.在Objective-C中,使用......

splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible;
Run Code Online (Sandbox Code Playgroud)