2009-11-05 5 views
0

Je suis en train de créer ma propre mise en œuvre d'une barre d'onglets, en utilisant une barre d'outils au lieu d'une barre d'onglets (pour permettre la personnalisation de la nouvelle « barre d'onglets »). Pour ce faire, je dois avoir la possibilité de basculer entre les vues quand un bouton est pressé.Changer le contenu de sous-vue après vue est chargé (touche de cacao)

Actuellement, mon point de vue se compose d'un sous-vue tabBar, et un sous-vue CustomView. Ce dernier doit être activé dans le rappel de bouton de newTabBarController. Quelqu'un peut-il me dire comment je pourrais faire cela? Essentiellement, je veux le même effet que presentModalViewController pour la sous-vue. Régler simplement mon pointeur de vue sur une vue différente ne fonctionne pas.

Voici quelques exemples de code:

- (void)viewDidLoad{ 
    customView = selectedViewController.view; 
    [self.view addSubView:customView]; 
    [self.view addSubView:newTabBarController.view]; 
} 

- (void)buttonHandler:(id)sender { 
    NewViewController newController = [[NewViewController alloc] init]; 
    // what to do now?? 
} 

Pour être clair: le newTabBarController ne hérite pas de UITabBarController. Il sous-classe UIViewController.

Répondre

0

Si vous envisagez de conserver ces vues, je les ajouterais toutes à la vue précédente et utiliserait bringSubviewToFront: et sendSubviewToBack: pour gérer celui que l'utilisateur voit.

//what to do now?? 
[self.view addSubView:newController.view]; 
[customView sendSubviewToBack]; 

du guide de programmation d'applications iPhone:

Pour réorganiser subviews existant à l'intérieur de leur parent, appelez le bringSubviewToFront :, sendSubviewToBack :, ou exchangeSubviewAtIndex: withSubviewAtIndex: méthodes de la vue parent. L'utilisation de ces méthodes est plus rapide que la suppression des sous-vues et leur réinsertion.

+0

Merci, cette solution suffit pour l'instant. Je ne peux pas m'empêcher de penser qu'un UINavigationController devrait être utilisé ici. –

Questions connexes