2009-09-14 7 views
0

J'ai créé un contrôleur de barre d'onglets qui a une barre de navigation et une vue de table. J'ai mis une image sur le côté gauche comme Subview de la barre de navigation comme ci-dessous.iPhone-SDK: Comment supprimer une image de barre de navigation?

CGRect frame = CGRectMake(5.0, 5.0, 94.0, 33.0); 
image = [ [UIImageView alloc]initWithImage:[UIImage imageNamed:@"topBarImage.png"] ]; 
image.frame = frame; 
[navBar addSubview:image]; 

Cela fonctionne comme prévu pour montrer. Pour certaines raisons, dans la deuxième page de la barre d'onglets, je ne veux pas montrer l'image dans la barre de navigation, donc je dois l'enlever seulement pour la deuxième page. J'ai essayé de le supprimer de removeFromSuperview, mais ne fonctionnait pas comme prévu. Quelqu'un peut-il me dire comment itérer toutes les sous-vues de la barre de navigation et supprimer la vue de l'image en particulier?

Répondre

0

Veuillez voir ma réponse précédente à la façon dont vous avez implémenté ce code de manière incorrecte. Ce que vous avez fonctionne, mais c'est la mauvaise façon de le faire et c'est la raison pour laquelle vous voyez ce problème. Pendant que vous êtes là, vous pouvez également marquer mes réponses comme "la réponse" dans le débordement de la pile.

iPhone-SDK: Adding Image on Navigation Bar:

modifier: répondre à la question, l'image, lorsque mis en œuvre en tant que barbuttonitem, coulera hors de l'écran lorsque vous appuyez sur/tirez le contrôleur suivant vue comme prévu. C'est la manière standard de faire ceci

+0

Je ne veux pas d'image sur le dessus du bouton, je ne ferai rien avec cette image. Il devrait montrer juste une image sur la barre de navigation. C'est tout. –

+0

s'il vous plaît relire le code et le commentaire. C'est la façon de le faire. juste parce que c'est un bouton, ne signifie pas que vous ne pouvez pas le faire dans votre image que vous voulez. Juste parce que c'est un bouton, il n'a pas besoin d'appeler une action. C'est la manière facile et assistée par Apple de faire ce que vous voulez. Si vous vous battez en essayant différentes choses, vous allez seulement rendre votre vie difficile. – coneybeare

+0

Désolé Mr.Coney, VOUS ÊTES PARFAIT. Grande aide. Merci. –

Questions connexes