2012-01-29 5 views
0

J'ai un UIToolbar dans le cadre de mon UINavigationController. Le UIToolbar a plusieurs UIBarButtonItem s, chacun avec des images personnalisées que j'ai spécifiées dans l'interface constructeur. Mes images ne sont pas aussi centrées que je le souhaite, alors j'applique une petite image en haut de l'inspecteur de taille.Insertion de l'image UIBarButtonItem à chaque fois redessinée?

UIToolbar

Le bouton à gauche n'a pas encadré, et celui à droite a un encart sur le dessus de 6.

Cependant, il semble que chaque fois que la barre d'outils est redessinée (après son arrivée en arrière d'une vue modale, ou en masquant et en déplaçant la barre d'outils), le bouton avec une incrustation se rétrécit de plus en plus, comme si l'encart était réappliqué à chaque fois. Donc, il ressemble à ceci:

Messed up UIToolbarButtonItem

Est-ce un bogue dans iOS, ou que je fais quelque chose de mal?

Merci d'avance.

Répondre

2

J'ai eu ce même problème avec une application iPhone spécifiquement lors du retour d'une vue modale. La façon dont je l'ai géré était de déclencher un NSNotification quand le Modal est rejeté que les vues qui avaient des problèmes écouteraient. Un peu comme ça.

[[NSNotificationCenter defaultCenter]postNotificationName:@"DismissingModal" object:nil]; 

Ensuite, enregistrez-le dans votre autre classe pour déclencher votre méthode.

[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(drawRect:) name:@"DismissingModal" object:nil]; 
+0

Veuillez marquer si j'ai répondu à votre question. Merci :) – MobileOverlord

0

Quand ajustez-vous l'encart pour votre image? Si vous le faites dans ViewWillAppear (ou ViewDidAppear), cette méthode est appelée à nouveau lorsque le modal est rejeté.

Peut-être que vous pouvez faire l'ajustement de l'encart dans ViewDidLoad à la place?

Questions connexes