2010-02-14 13 views
1

J'ai une application tabbar avec quatre onglets. Chaque onglet charge une plume avec son viewcontroller. Dans ma première plume, j'ai deux vues. Dans la première vue (espace réservé) est un bouton pour passer à la deuxième vue (vue1) et inverser (avec un booléen pour voir si la deuxième vue est sur le dessus ou non).Vue depuis le deuxième onglet en arrière-plan lors de la transition entre deux vues au premier onglet (et non une couleur comme il se doit)

-(IBAction)transitionFlip { 
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:1.5]; 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES]; 
    if (view1OnTop) { 
     [view1 removeFromSuperview]; 
     view1OnTop = NO; 
    } 
    else { 
     [placeholder addSubview:view1]; 
     view1OnTop = YES; 
    } 
    [UIView commitAnimations]; 
} 

Le problème: Lorsque je clique sur le bouton, il fonctionne très bien. Mais le Nib Second-Tabbar est sur le fond d'animation? Lorsque je clique sur la deuxième tabulation et que je reviens au premier, l'arrière-plan de l'animation est blanc (comme il se doit).

Dans le Main Appdelegate i ont seulement ajouté deux contrôleurs:

[window addSubview:navigationController.view]; 
[window addSubview:tabBarController.view]; 
[window makeKeyAndVisible]; 

Des idées?

Répondre

1

Le problème est probablement dû à l'ajout de à la fois navigationController.view et tabBarController.view en tant que sous-vues d'UIWindow. Au lieu de ce point de vue hiérarchique:

UIWindow -> [UITabBarController -> [vue, vue, ...], UINavigationController -> Voir]

essayer d'ajouter le point de vue de ne tabBarController à la fenêtre, et de le laisser gérer séparément UINavigationControllers pour chaque onglet:

UIWindow -> UITabBarController -> [UINavigationController -> vue, UINavigationController -> vue, ...]

+0

Merci! C'était la raison. – x2on