UISplitviewcontroller not as a rootview controller

前端 未结 5 1224
傲寒
傲寒 2020-12-13 21:46

I am building my first iPad application. And one of my requirements is to deal with UISplitviewcontroller and UINavigationController.
our proposed view hierarchy is
<

5条回答
  •  时光取名叫无心
    2020-12-13 22:39

    Try this, it works for me

    1) in app delegate's didFinishLaunchingWithOptions make your login view to root view

    self.window.rootViewController = self.loginViewController;  
    

    also, init the split view as the template do ( but not add to self.window)

    MasterViewController *masterViewController = [[[MasterViewController alloc] initWithNibName:@"MasterViewController_iPad" bundle:nil] autorelease];
    UINavigationController *masterNavigationController = [[[UINavigationController alloc] initWithRootViewController:masterViewController] autorelease];
    
        DetailViewController *detailViewController = [[[DetailViewController alloc] initWithNibName:@"DetailViewController_iPad" bundle:nil] autorelease];
        UINavigationController *detailNavigationController = [[[UINavigationController alloc] initWithRootViewController:detailViewController] autorelease];
    
        self.splitViewController = [[[UISplitViewController alloc] init] autorelease];
        self.splitViewController.delegate = detailViewController;
        self.splitViewController.viewControllers = [NSArray arrayWithObjects:masterNavigationController ,detailNavigationController, nil];
    

    2) add a swap view controller in app's delegate, which swap the root view to split viewcontroller.

    -(void)swapToViewControllers:(RootViewControllerType)viewType  
            self.window.rootViewController = self.splitViewController; 
    

    3) invoke the swapToViewControllers in your login view.

提交回复
热议问题