0

我创建一个 Main-iPad.Storyboard 与 Split View Controller Windows 和 App Delegate

这是我的应用 Delegate.h

   IBOutlet UISplitViewController * rootcontroler;
   UIWindow *window;

这是我的应用 Delegate.m

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    


    UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@"Main-iPad" bundle:nil];
    UIViewController *initviewcontroller = [storyboard instantiateInitialViewController];
    [self.window setRootViewController:initviewcontroller];



}

我在 Target-> General -> Main Interface = Main-iPad 中添加了

但是当我运行应用程序时,我收到了黑屏

4

1 回答 1

0

如果您想UISplitViewController从代码中加载带有初始 vc 的情节提要,请从目标的Info.plist 中删除相应的键并将此代码添加到AppDelegate.m

// loading initial vc the way many folks around do
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
UIViewController *vc =[storyboard instantiateInitialViewController];
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.rootViewController = vc;

// set up split vc
self.splitViewController = (UISplitViewController *)self.window.rootViewController;
UINavigationController *navigationController = [self.splitViewController.viewControllers lastObject];
navigationController.topViewController.navigationItem.leftBarButtonItem = self.splitViewController.displayModeButtonItem;
navigationController.topViewController.navigationItem.leftItemsSupplementBackButton = YES;
self.splitViewController.delegate = self;
self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAllVisible;
self.splitViewController.preferredPrimaryColumnWidthFraction = 0.5;
// do any other split vc customization if needed

// this is an important part: call this _after_ split vc set up, otherwise you'd get wrong collapsed vc presented by split vc
[self.window makeKeyAndVisible];

还有,要点

于 2015-09-14T09:33:41.090 回答