2010-08-02 7 views
0

mon application a un menu avec un assortiment de boutons en bas, chaque bouton insère une nouvelle sous-vue de l'un de mes xibs, sous le menu. Les vues ont un ordre dans lequel elles sont supposées entrer (pensez à la présentation powerpoint) bien que l'utilisateur puisse toucher un certain bouton pour aller à l'un d'entre eux.vues de référence iphone

Il existe également des boutons suivant et précédent. Je me demande comment je devrais référencer les vues dans le contrôleur de vue de mon menu de telle sorte que je puisse insérer la vue "prochaine" et "précédente" appropriée, qui bien sûr dépend de celle qui est actuellement montrée. Aussi, je dois supprimer la sous-vue actuelle après avoir inséré la nouvelle, quelle qu'elle soit.

Merci!

Répondre

1

Si vous utilisez un UITabBarController, vous pouvez par exemple appeler simplement

[self.tabBarController setSelectedIndex:2]; 

aller au 3ème écran. (Notez que l'index 0 est le premier écran)

Donc, si vous accrochez des boutons par exemple à

-(IBAction)next:(id)source 
{ 
    [self.tabBarController setSelectedIndex:[self.tabBarController selectedIndex]+1]; 
} 

-(IBAction)prev:(id)source 
{ 
    [self.tabBarController setSelectedIndex:[self.tabBarController selectedIndex]-1]; 
} 

vous y êtes presque. Cela suppose que vous avez un UITabBarController en tant que parent du viewcontroller dans lequel vous avez placé ceci. Si vous avez sous-classé UITabBarController, utilisez simplement self au lieu de self.tabBarController.

+0

Je n'utilise pas un contrôleur de barre d'onglets, il s'agit simplement d'un UIViewController, car il possède tous les boutons personnalisés avec des emplacements et des graphiques différents. – Hippocrates

+0

Dans ce cas, conservez un tableau NSArray des vues et conservez une variable d'état indiquant quelle vue est active. Ensuite, créez deux fonctions similaires à celles proposées ci-dessus. Créez une fonction 'setSelectedIndex' qui supprime la vue actuelle et ajoute la nouvelle vue. – mvds