50 votes

UIStoryboard: Quelle est la bonne façon d’obtenir le storyboard actif?

Je suis actuellement furieusement à fouiller dans tous les docs, et vous n'avez pas trouvé ce que je cherche. Je soupçonne que c'est un vrai oh pinaise! réponse.

J'ai simplement besoin de trouver de l'actif storyboard dans le regroupement principal, et que vous voulez connaître la meilleure façon de le faire.

C'est ainsi que je peux utiliser l' [UIStoryboard storyboardWithName:@"XXX" bundle:mainBundle] pour l'extrait de l'exécution de storyboard.

Je sais comment quelque chose en passant sur l'idiome, mais j'ai l'impression que c'est un...quelque chose.

Ce qui est une bonne façon de le faire?

Mise à JOUR:

OK. Je l'ai trouvé.

Comme d'habitude, sur un Débordement de Pile (l'officiel d'Apple Site de Documentation ;).

Voici le code que j'ai installé sur:

UIStoryboard *st = [UIStoryboard storyboardWithName:[[NSBundle mainBundle].infoDictionary objectForKey:@"UIMainStoryboardFile"] bundle:[NSBundle mainBundle]];

41voto

OlivaresF Points 652

Si vous souhaitez obtenir le storyboard actif pour un viewController, il existe une propriété de storyboard. Voici comment je l'ai résolu au lieu de créer une nouvelle instance:

     LoginViewController *vc = [navController.storyboard instantiateViewControllerWithIdentifier:@"firstLaunch"];
    [navController presentModalViewController:vc animated:YES];
 

27voto

MAGSHARE Points 516

OK. Comme mon commentaire ci-dessus l'indique, j'ai trouvé la réponse à la (mal posé la question):

Je voulais être en mesure d'obtenir le principal (non active) storyboard, comme je ne suis pas à l'aide de plusieurs story-boards par l'incarnation. Je suis en utilisant le modèle standard des 1 table de montage séquentiel pour iPhone, et 1 pour l'iPad. Je voulais juste la façon la plus propre à obtenir la table de montage séquentiel, pour que je puisse l'utiliser pour générer une-vue-contrôleur.

J'ai trouvé la réponse dans ce post sur un Débordement de Pile, et mis en oeuvre avec le code suivant:

UIStoryboard *st = [UIStoryboard storyboardWithName:[[NSBundle mainBundle].infoDictionary objectForKey:@"UIMainStoryboardFile"] bundle:[NSBundle mainBundle]];

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X