2014-05-19 4 views
0

J'ai ajouté un nouveau UIViewController pour obtenir un problème de connexion fixe et maintenant le bouton dans le NavigationBar sur la scène suivante est inactif. Voici le code je pour charger le nouveau StoryBoard:Chargement de nouveau Storyboard et UIButton inactif

-(void)newSotrybooard{ 
    UIStoryboard *settingsStoryboard = [UIStoryboard storyboardWithName:@"LogedIn" bundle:nil]; 
    UIViewController *initialSettingsVC = [settingsStoryboard instantiateInitialViewController]; 
    initialSettingsVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
    [self presentViewController:initialSettingsVC animated:YES completion:NULL]; 
} 

J'ai ajouté le nouveau story-board après que je ne pouvais pas obtenir le NavigationBar montrer et pousser sans erreur et sur le story-board principale. C'est le seul code qui a changé. Le contrôleur de navigation n'a pas de classe associée et le TableView ne suit pas non plus. Je ne peux pas non plus faire défiler la vue Table. Merci de votre aide!

Mise à jour:

Je mis à jour le code ci-dessus et

L'erreur que je reçois est:

Warning: Attempt to present <UINavigationController: 0x109fa0ce0> on <PrivateViewController: 0x109f6ef80> whose view is not in the window hierarchy! 

Répondre

0

D'après les informations que vous avez fournies, je conjecturer que les éléments suivants pourraient être utiles -

  1. Oui, vous avez utilisé instantiateViewControllerWithIdentifier. Mais rappelez-vous qu'il instancie et renvoie le contrôleur de vue avec l'identifiant spécifié. Vous avez manqué ça.

  2. Fournir le même nom à votre nouveau Storyboard dans votre code et Inspector File (comme vous l'avez nommé LogedIn ci-dessus) et il doit être réglé dans l'interface principale (cible >> Général >> Interface principale ).

  3. Voir rootViewController? Le rootViewController pour la fenêtre doit être affecté (soit par Storyboard ou par programme). Vérifiez s'il vous plaît. J'ai ajouté un UINavigationController dans mon exemple ci-dessous -

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"StoryboardName" bundle:nil]; 

    ViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"StoryboardName"]; 

    vc.title = @"Is this title visible?"; 

    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc]; 

    self.window.rootViewController = nav; 

    return YES; 
}

Pour le ViewController.m

 -(void) goToSettings { 

     UIStoryboard *settingsStoryboard = [UIStoryboard storyboardWithName:@"SettingsStoryboard" bundle:nil]; 

     UIViewController *initialSettingsVC = [settingsStoryboard instantiateInitialViewController]; 

     initialSettingsVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 

     [self presentViewController:initialSettingsVC animated:YES completion:NULL]; 
}
+0

J'utilise deux storyboards différents et cela est la deuxième story-board. Je souhaite que l'application soit lancée à partir du premier storyboard, car elle contient une fonctionnalité de connexion et de code d'accès. – jbokwx

+0

Je dois aussi préciser que c'est l'ensemble de la vue qui ne répond pas et cela arrive quel que soit le contrôleur de navigation ou non. – jbokwx

+0

Ok, maintenant c'est une balle de jeu différente. Vous pouvez facilement passer d'un storyboard à l'autre (pas de problème?) - et vous pouvez intégrer un nouveau contrôleur de navigation au second storyboard. Faisable? – raurora