2012-01-15 2 views
2

Je dois prendre une série de décisions dans l'AppDelegate au lancement - en fonction du résultat de ces décisions, je dois aller à des parties spécifiques du storyboard. Donc, ma question est - SANS utiliser les contrôleurs de navigation ou de tabulation, comment puis-je aller à une partie spécifique d'un storyboard?Points d'entrée multiples pour un storyboard

OU

est la seule option prise en charge ayant plusieurs storyboards - pour chacun des « résultats » et charger ceux au besoin?

Merci

+0

était probablement, mais je ne trouve pas la recherche que je faisais avant d'être publié. – iOSProgrammingIsFun

Répondre

7

Donnez à chacun de vos ViewControllers une pièce d'identité distincte, et puis instancier le nécessaire un avec:

UIViewController *initialVC = [storyboard instantiateViewControllerWithIdentifier:@"<identifier>"]; 
+2

Merci d'avoir répondu ... J'ai effectivement travaillé sur ce que je voulais faire: Dans le délégué de l'application quand la décision est prise, je reçois le storyboard, puis le contrôleur de vue comme dans votre exemple, puis je me mets en place .window.rootviewcontroller à ce nouveau contrôleur de vue. Sinon, s'il ne réussit pas les tests de décision, je le laisse par défaut dans le storyboard principal. Pour passer d'un storyboard à un autre, j'utilise instantiateView avec le gestionnaire de complétion, où je supprime cette vue. – iOSProgrammingIsFun

11

Donnez à chaque ViewController un identifiant unique dans le story-board. Ensuite, dans le appDelegate:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
    UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"PUT_UNIQUE_ID_HERE"]; 
    //DO WHAT YOU WANT WITH YOUR VIEWCONTROLLER 
    //Example:Set it as the root view of the app window... 
Questions connexes