Question

J'essaie d'accéder à l'instance _tabBar à partir d'un UITabBarController. J'essaie de masquer la barre de tabulation dans certaines situations; pour cela, j'ai ajouté une extension à UITabBarController, où je peux accéder à l'instance _tabBar et appeler le message setHidden. Cela fonctionne lors de la compilation pour le simulateur, mais lorsque je compile pour le périphérique, j'obtiens le message d'erreur suivant

" _OBJC_IVAR _ $ _ UITabBarController._tabBar ", référencé depuis:       _OBJC_IVAR _ $ _ UITabBarController._tabBar $ non_lazy_ptr dans UITabBarController + TabBar.o

Que dois-je ajouter à mes drapeaux de compilation? et pourquoi ça marche lors de la compilation pour le simulateur.

Merci d'avance.

Était-ce utile?

La solution 2

Il est accessible depuis iPhone OS 3.0

Autres conseils

Selon les documents pour UITabBarController:

  

Vous ne devriez jamais tenter de manipuler   l'objet UITabBar lui-même stocké dans   cette propriété. Si vous essayez de faire   oui, la vue de la barre d’onglet jette un   exception. Pour configurer les éléments pour   votre interface de barre d’onglet, vous devriez   attribuer à la place une ou plusieurs vues personnalisées   contrôleurs à la viewControllers   propriété. La barre d'onglets recueille les   éléments de la barre d'onglets nécessaires dans la vue   les contrôleurs que vous spécifiez.

     

La vue de la barre d'onglets fournie par cette   la propriété est seulement pour les situations où   vous voulez afficher une fiche d'action   en utilisant la méthode showFromTabBar:   la classe UIActionSheet.

Si vous poussez votre UITAbBarController sur une pile de contrôleurs de navigation, vous pouvez définir la propriété hidesBottomBarWhenPushed sur YES et cela fonctionnera.

Il pourrait également y avoir une autre API dans la super-classe de UITAbBarController qui le fera. Sinon, vous pouvez parcourir la hiérarchie de sous-vues et masquer celle qui est nécessaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top