2011-03-08 5 views
1

Je suis retourné aux tutoriels Bonjour tout le monde en essayant de le faire. Je ne peux pas sembler comprendre ceci pour une raison quelconque, et pourtant cela devrait être si simple.Basculer entre les vues avec UINavigationBar

Je veux avoir un UINavigationBar avec un bouton sur le côté droit. Lorsque l'utilisateur appuie sur ce bouton, il passe à une seconde vue via l'animation de diapositive, et sur cette nouvelle vue, la barre de navigation affiche un bouton de retour à la vue précédente.

Comment puis-je obtenir cela? Je ne peux pas pour la vie de moi le comprendre. Y a-t-il un tutoriel quelque part qui le dépasse? Je ne peux pas en trouver un.

Répondre

0

Sur l'action du bouton (le sélecteur), utilisez le message suivant sur self.navigationController

pushViewController:secondViewController animated:YES 

EDIT: Créez le UINavigationController comme suit:

UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:rootViewController]; 

Et puis réglez le bouton droit tel que requis suggéré par Sorin dans sa réponse. Et utilisez pushViewController: animated: message sur self.navigationController comme je l'ai déjà posté dans ma réponse originale. J'espère que cela aide. rootViewController est le contrôleur de vue que vous souhaitez utiliser comme première vue de votre pile de navigation.

+0

Cela résout ce problème - merci. Le problème qui me reste est comment puis-je faire un controleur de navigation, et comment puis-je m'assurer qu'il apparaît sur ces vues? Je n'en ai aucune idée. – Andrew

+0

voir ma modification ci-dessus – Bourne

3

Vous devez créer un UINavigationController avec un UIViewController en tant que racine. Dans UIViewController, vous devez configurer le bouton droit de la barre. vous devriez avoir quelque chose de semblable à ceci:

self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] 
         initWithTitle: @"Next" 
         style:UIBarButtonItemStyleDone 
         target:self 
         action:@selector(nextPage:)] 
         autorelease]; 

lorsque vous appuyez sur le bouton de la méthode nextPage: sera appelé et exécutera la poussée de la nouvelle vue.

-(void)nextPage:(id)sender 
{ 
    UIViewController *secondViewController = [[UIViewController alloc] init]; 
    [self.navigationController pushViewController:secondViewController animated:YES]; 
    [secondViewController release]; 
} 

Voici un tutoriel en deux parties pour l'utilisation d'un UINavigationController et here est la documentation officielle pour la UINavigationController (très utile).

Questions connexes