Objectif-C: Démarrez l'application avec la deuxième vue avec une barre de navigation
-
14-11-2019 - |
Question
Je crée une application pour iPad, j'ai créé 3 vues avec une barre de navigation mais je voudrais démarrer mon application non pas en premier mais en deuxième vue, que puis-je faire?
La solution
Vous pouvez configurer UinavigationController avec une pile de navigation initiale via setViewControllers:animated:
.
// in application:didFinishLaunchingWithOptions:
self.navigationController = [[UINavigationController new] autorelease];
UIViewController *first = [[MyFirstViewController new] autorelease];
UIViewController *second = [[MySecondViewController new] autorelease];
NSArray *controllers = [NSArray arrayWithObjects:first, second, nil];
[navigationController setViewControllers:controllers animated:NO];
...
[window addSubview:navigationController.view];
Autres conseils
Initialisez votre contrôleur de navigation sur le démarrage par programme avec 2 contrôleurs déjà en pile:
FirstViewController *first = ...//create controller
SecondViewController *second = ...//create controller
[navigationController setViewControllers:[NSArray arrayWithObjects:first, second, nil]
animated:NO];
Ou alternativement vous pouvez faire pousser votre 1er contrôleur le deuxième au démarrage - voir Apple's Dringdownsave échantillon pour cette technique.
Suivez les somestapes comme:
1. ouvrir le MainWindow.xib
dans le dossier ou le paquet de ressources.
2. cliquez sur l'outil et ouvrez Inspector
>> choisir attribute
>> NIB Name
-Set ici votre nom de vue de la liste déroulante >> identity
dans Inspecteur (à partir des onglets supérieurs) >> Choisissez class
-segnez ici votre nom de vue à partir de la liste déroulante.
3. appdelegate.m
Changement de fichier ici le contrôleur de vue comme: fileviewcontrollername *viewController;
Définissez sa propriété.
4. dans didFinishLaunching
dans appdelegate.m
ajouter
UINavigationController *navController=[[UINavigationController alloc]initWithRootViewController:viewController];[window insertSubview:navController.view];[self.window makeKeyAndVisible];return YES;
5. appdelegate.h
Ajout de fichiers
@class ViewControllerName;