2017-04-17 1 views
0

Quelqu'un peut-il me dire comment commencer UINavigationContoller de ÀppDelegate ? I can start a rootViewContoller but cannot start a specific UIViewController like I was trying in commented code. The commented code starts the **ChooseTableViewController** but does not display UINavigationBar`. quelle est la meilleure approche? Voici mon codeDémarrage contrôleur de navigation de appDelegate

- (void)setRootViewController:(NSString *)storyBoardName { 
    //set the Root ViewController 

    UIStoryboard *story = [UIStoryboard storyboardWithName:storyBoardName 
                bundle:nil]; 
    UINavigationController *newViewController = 
           [story instantiateInitialViewController]; 
    self.window.rootViewController = newViewController; 



    /* 
    ChooseTableViewController *chooseTableViewController = 
     [story instantiateViewControllerWithIdentifier:@"ChooseTableViewController"]; 

    self.window.rootViewController = chooseTableViewController; 

    */ 

} 
+0

'Mettre ChooseTableViewController' comme RootViewController du' UINavigationController' travaillera pour vous . –

Répondre

0
// Your main storyboard 
UIStoryboard *story = [UIStoryboard storyboardWithName:storyBoardName bundle:nil]; 

// Your root navigation controller 
UINavigationController *newViewController = [story instantiateInitialViewController]; 

// Your root view controller for root navigation controller 
ChooseTableViewController *chooseTableViewController = [story instantiateViewControllerWithIdentifier:@"ChooseTableViewController"]; 

// Set your view controller as root view controller of your root navigation controller 
newViewController.rootViewController = chooseTableViewController; 

// set your root navigation controller 
self.window.rootViewController = newViewController; 
1

Appdelegate.h

@property (strong, nonatomic) UIWindow *window; 
@property (strong, nonatomic) UINavigationController *navigationController; 

Appdelegate.m

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

    self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds]; 

      UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 

     self.navigationController = [storyboard instantiateViewControllerWithIdentifier:@"navigation"]; 
       UIViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:@"ChooseTableViewController"]; 
       navigationController=[[UINavigationController alloc]initWithRootViewController:viewController]; 
    self.window.rootViewController =self.navigationController; 
      [self.window makeKeyAndVisible]; 
     return YES; 
    } 
+0

ce qui est instantiateViewControllerWithIdentifier: @ "navigation" ici ?? il s'écrase sur cette ligne – Shelby

+0

cela signifie que le contrôleur de navigation sera votre contrôleur de vue initial et l'identificateur du contrôleur de navigation est @ "navigation" –

+0

mais il se bloque là – Shelby