2011-01-22 5 views
0

Je dois créer une application avec six vues, auxquelles on peut accéder par des éléments de bouton de barre sur une barre d'outils.IPHONE - Utiliser plusieurs vues

Je suis vraiment nouveau à ce sujet. J'ai un contrôleur de vue et un fichier XIB pour chaque vue, avec six fonctions (goToView1, goToView2, ..., goToView6).

est un exemple:

SecondViewController *secondview; 

-(IBAction)goToView2 { 
    secondview = [[SecondViewController alloc] 
       initWithNibName:@"SecondViewController" bundle:nil]; 
    [self.view addSubview:secondview.view]; 
} 

Mais comme vous pouvez le voir, si je veux aller de view3 à View2, je ne suis pas supprimer le view3 de la pile: Je suis juste ajouter la view2 par-dessus. Donc, voici mon problème, comment puis-je "supprimer" ma vue avant d'utiliser addSubView? J'ai essayé avec removeFromSuperView, mais je pense que je ne l'utilise pas correctement.

Merci de nous aider, comme je l'ai dit que je suis vraiment nouveau et je sais qu'il peut être une question stupide:/

Répondre

2

Cela ressemble beaucoup à ce que vous voulez utiliser un UITabBarController, car cela fournira la barre d'outils (avec des icônes), etc. et traitera automatiquement l'affichage du contrôleur de vue approprié lorsqu'une icône de barre d'outils spécifique est sélectionnée.

Cependant, je recommande vraiment de lire d'abord le document View Controller Programming Guide for iOS, car il fournit un bon aperçu des différents contrôleurs UIKit, etc. et comment ils devraient être utilisés. Si vous prenez le temps de lire et de comprendre cela maintenant, cela vous servira bien dans le futur.

+0

Bonjour, si j'utilise un UITabBarController, mon application fonctionnera-t-elle toujours? (car certains éléments fonctionnent déjà même si je ne peux pas encore gérer la navigation) –

+0

@nax_ Vous devriez pouvoir utiliser vos contrôleurs de vue existants tels quels - le UITabBarController fournira simplement le mécanisme de sélection de la barre d'outils/contrôleur de vue. –

+0

Je recommande également de commencer avec un contrôleur de barre d'onglets. La référence de classe UIViewController vous avertit de l'ajout de la vue d'un contrôleur de vue en tant que sous-vue. Comme tu le fais maintenant. Il est probable que vous ne sachiez pas pourquoi les méthodes sur les contrôleurs de vue imbriqués ne sont pas appelées si vous continuez avec cette conception. – Jonah

0

Jetez un oeil à UITabBar. Je pense que l'utilisation d'une barre d'onglets pourrait être mieux adaptée à ce que vous voulez faire qu'une barre d'outils.

UITabBar Class Reference

0

pour enlever la vue fisrt vous devez utiliser quelque chose comme ça.

[fisrtView removefromSuperview]; 

de mettre où vous voulez supprimer vue.

Questions connexes