2010-01-31 5 views
0

J'utilise le code suivant pour faire une petite vue disparaître au bas de l'écran:Faire une UIView « disparaître » derrière un autre TabBar

int y_dest = self.application.windows.frame.size.height; [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.33f]; [UIView setAnimationDelegate:self]; [UIView setAnimationDelegate:self]; [UIView setAnimationDidStopSelector:@selector(closeAnimationDidStop:finished:context:)]; self.view.frame = CGRectMake(0, y_dest, self.view.frame.size.width, self.view.frame.size.height); [UIView commitAnimations];

Cela fonctionne parfaitement lorsque la vue est à la bas de l'écran mais maintenant je dois l'ajouter à la fenêtre au-dessus d'un TabBar signifiant que la vue est maintenant animée sur le haut de la barre d'onglets plutôt que derrière elle. Est-il possible d'avoir la vue "disparaître" derrière la barre d'onglets?

J'ai essayé une combinaison de choses jusqu'à présent, y compris la création d'une vue «masque» de la même taille que la vue animée et le placement dans la fenêtre, mais pour une raison quelconque, cette vue n'apparaissait pas du tout. J'ai aussi essayé d'utiliser insertSubview: belowSubview qui n'a fait aucune différence. Je suis sûr que je dois manquer quelque chose ici.

Merci d'avance! enter code here

Répondre

0

Est-il:

[self bringSubviewToFront:yourView] que vous cherchez?

+0

J'ai essayé quelques combinaisons de bringSubviewToFront et sendSubviewToBack sans aucune chance mais je l'ai maintenant compris. Le problème résidait dans le fait que je supprimais ma fenêtre cachée de la vue, puis après l'animation, je l'ajoutais à la vue navigationController mais comme j'avais ouvert la vue de la pile navigationController, elle n'était plus valide référence à la vue navigationController avant la pop, je pourrais l'ajouter après l'animation et cela fonctionne magnifiquement! –

Questions connexes