2010-09-21 7 views
0

Quelque chose de très étrange m'arrive. J'ai été double et triple vérifier moi-même. J'utilise un UITabBarController et je l'initialise avec 4 contrôleurs de vue différents. Toutefois, pour une raison quelconque, lorsque l'application démarre, seule la première image de la barre d'onglets est affichée. C'est seulement lorsque je touche la partie vide de la barre d'onglets - que l'image sous-jacente apparaît soudainement.
Je suppose que c'est un bug introduit dans le dernier SDK - Je viens de mettre à jour vers Xcode 3.2.4 avec iOS SDK 4.1. Est-ce arrivé à quelqu'un d'autre? Ou peut-être - une idée de ce qui pourrait causer cela?Bug dans UITabBarController?

Merci!
Ariel

+2

Donc le même code fonctionnait précédemment bien? – Toastor

+0

Publier du code. – DexterW

Répondre

1

J'ai trouvé mon problème. Ce n'était pas un bug dans la nouvelle version de Xcode, c'était bien ma propre erreur bien sûr, et merci les gars d'essayer de m'aider. Le problème était que j'initialisais mes UITabBarItems dans la fonction viewDidLoad des différents contrôleurs de vue. Cependant, cette fonction a été invoquée uniquement pour le premier contrôleur de vue (celui affiché) et n'a pas été invoquée pour tous les autres contrôleurs de vue jusqu'à ce que j'appuie sur le bouton de la barre d'onglets approprié. Et par conséquent, uniquement lorsque vous appuyez sur le bouton, l'élément de la barre d'onglets s'initialisait et apparaissait.

La solution consistait à initialiser les UITabBarItems dans la fonction init du UIViewController.
Maintenant tout fonctionne très bien :-)

Merci encore les gars!
Ariel

0

Ma réponse est strictement pour la postérité.

La mise en -(id)init à ne fonctionne pas pour moi ...

CEPENDANT, mettre en (void)awakeFromNib fait parce que:

1) init est pas appelée si les connexions nib à un UITabBarController sont en cours chargé ... 2) awakeFromNib est appelé quand il est chargé :)