2009-11-24 3 views
0

OK donc avoir un vrai mal de tête avec celui-ci et la majeure partie de la journée a été gaspillée! avec peu de progrès!Suppression de plusieurs ViewControllers iPhone tabbar application

L'application:

  • J'ai une application barre d'onglets chaque onglet dispose de son propre contrôleur de vue et vue associée.
  • Say sur l'onglet 1 utilisateur clique sur un bouton pour accéder à un point de vue différent, je l'ai mis en œuvre les éléments suivants: [self.view addsubView:view 2]
  • Je continue d'ajouter des vues de cette manière
  • Si l'utilisateur retourne de ce point de vue à la vue précédente Je m'en débarrasse avec un bouton de retour lié à [self.view removefromsuperview]

Droit! que tout fonctionne bien ... voici le mal de tête.

Si l'utilisateur bénéficie des points suivants: - accède à View2 sur l'onglet 1 - passe à l'onglet 2 - retourne à l'onglet 1 nouveau

Je voudrais supprimer tous les sous-vues (chargé de viewControllers) de telle sorte que ils sont présentés avec View1 sur l'onglet 1.

obtenir?

i ont essayé ce qui suit:

for(UIViewController *subview in [self.view subviews]) { 
    if([subview isKindOfClass:[View2Controller class]]) { 
     [subview.view removeFromSuperview]; 
    } else { 
     // Do nothing 
    } 
} 

Pour tenter de supprimer view2. (Cette méthode est appelée dans viewWillAppear de view1 - et ne s'appelle mais ne supprime pas view2)

Toutes les idées ?? Toute aide à cette question serait très appréciée

Vive

Répondre

0

je passer à une vue architecture UINavigationController pour chaque onglet. Ensuite, vous pouvez simplement pousser et afficher les viewControllers, et laisser le système faire sa part pour vous aider à gérer la mémoire. En outre, vous pouvez simplement appeler popToRootViewController lorsque vous voulez passer au 'bas'.

Aussi, assurez-vous de noter que UIViews et UIViewControllers sont différentes classes, et ne doivent pas être utilisés de manière interchangeable. subviews est un tableau de UIViews, pas UIViewControllers.

+0

OK merci pour les conseils .... Vous pouvez voir comment j'ai mis en place la vue architecture de mon application ..... ce que ce sera une tâche difficile de changer cela une architecture de vue sur la base de UINavigationController ?? La raison pour laquelle j'ai décidé de prendre la route que j'ai faite était parce que je ne voulais pas avoir la barre de navigation au sommet .... –

Questions connexes