1

J'ai une application iPhone basée sur la navigation. Normalement vous démarrez sur le RootViewController, là vous pouvez sélectionner une ligne à partir d'un UITableView qui vous amène à un autre ViewController, appelons-le SecondLevelViewController.Comment passer au niveau 2 viewController au démarrage dans l'application iPhone basée sur la navigation

Lorsque l'application est démarrée, je vérifie si elle a été arrêtée par SecondLevelViewController (via un paramètre sauvegardé dans les paramètres par défaut de l'utilisateur). Si c'était le cas, je veux afficher SecondLevelViewController à nouveau.

Pour y parvenir, je fais le chèque à mes délégués d'application

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
méthode

, juste après

[window addSubview:[navigationController view]]; 
[window makeKeyAndVisible]; 

Puis ajouter le SecondLevelViewController à la pile de vue. Je l'ai essayé avec pushViewController et setViewControllers:

 SecondLevelViewController *newVC = [[SecondLevelViewController alloc] initWithNibName:@"SecondLevelView" bundle:nil];    
     [self.navigationController setViewControllers:[NSArray arrayWithObjects:[self.navigationController.viewControllers objectAtIndex:0], newVC, nil] 
              animated:YES]; 

L'application montre alors la vue souhaitée. Maintenant le problème: le SecondLevelViewController affiche un bouton de retour sur le côté gauche de la barre de navigation. Ce bouton n'apparaît pas lorsque vous utilisez la méthode décrite ci-dessus. Ma conclusion est, que le RootViewController n'est pas encore complètement initialisé au moment où je vais le SecondLevelViewController. Est-ce possible? Comment puis-je éviter ça?

Merci, Marque.

Répondre

0

Oui ....... Il est supposé être vrai ..... Vous pouvez faire la chose ... comme ça ..

juste vérifier la condition selon votre réglage et il est directement venant de RootViewController, puis mettre un bouton bouton/barre arrière personnalisé dans la barre de navigation ..... de SecondLevelViewController.

Avant cela, vous devez vérifier l'état ... s'il est vrai usage utilisez le bouton personnalisé

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem: cible UIBarButtonSystemItemCancel: auto l'action: @selector (Retour:)];

  • (void) Retour: (id) sender {

    [self.navigationController popToRootViewControllerAnimated: OUI]; }

je pense qu'il serait donc certainement travailler pour u.

Questions connexes