在哪里为 UISplitViewController 设置 preferredDisplayMode?

Where do you set preferredDisplayMode for UISplitViewController?

我想为 iOS 9 上的纵向应用程序创建一个 "slide-out-menu",允许平移手势在模式之间切换。

我希望它在模式 "Hidden - The secondary view controller is displayed onscreen and the primary view controller is off screen" 和 "Overlay - The secondary view controller is onscreen and the primary view controller is layered on top of it."

之间切换

根据Apple's documentation,我需要为 UISplitViewController 设置 preferredDisplayMode。有人可以告诉我在哪里修改这个 属性 吗?

希望您创建了一个 splitViewController 并将其设置为 AppDelegate 中的 rootViewController。

在splitViewController的viewDidLoad中做

- (void)viewDidLoad
{[super viewDidLoad];
masterVC = [[MasterViewController alloc] init];
detailVC = [[DetailViewController alloc] init];
NSArray *vcArray = @[masterVC, detailVC];
self.viewControllers = vcArray;
self.preferredDisplayMode = UISplitViewControllerDisplayModeAutomatic;
self.presentsWithGesture = YES;
self.preferredPrimaryColumnWidthFraction = .10;
self.delegate = (id)self;}

它肯定会工作我已经测试过了。 MasterViewController 是主要的 viewController,DetailViewController 是次要的viewController。

注意:在 iOS 8 及更高版本中,您可以在所有 iOS 设备上使用 UISplitViewController class;在 iOS 的早期版本中,class 仅在 iPad 上可用。