Frage

Ich versuche, die _tabBar Instanz von einem UITabBarController zuzugreifen. Ich versuche, die tabBar in bestimmten Situationen zu verstecken, denn das, habe ich eine Erweiterung UITabBarController, wo ich die _tabBar Instanz zugreifen können, und rufen Sie die setHidden Nachricht. Dies funktioniert, wenn für den Simulator Kompilieren, aber wenn ich für das Gerät zu kompilieren, erhalte ich die folgenden Fehler

"_ OBJC_IVAR _ $ _ UITabBarController._tabBar", verwiesen von:       _OBJC_IVAR _ $ _ UITabBarController._tabBar $ non_lazy_ptr in UITabBarController + TabBar.o

Was brauche ich, um meinen Compiler-Flags hinzufügen? und warum hat es funktioniert, wenn für den Simulator zu kompilieren.

Vielen Dank im Voraus.

War es hilfreich?

Lösung 2

Es ist im Internet seit iPhone OS 3.0

Andere Tipps

Laut der Docs für UITabBarController:

  

Sie sollten nie zu manipulieren versuchen,   das UITabBar Objekt selbst gespeichert in   dieses Anwesen. Wenn Sie versuchen, zu tun   so wird die Registerleiste Ansicht löst eine   Ausnahme. So konfigurieren Sie die Einzelteile für   Ihre Tableiste Schnittstelle, sollten Sie   zuweisen stattdessen eine oder mehrere benutzerdefinierte Ansicht   Controller den Viewcontrollers   Eigentum. Die Tab-Leiste sammelt die   benötigte Tableiste Elemente aus der Ansicht   Controller Sie angeben.

     

Die Tab-Leiste Ansicht durch diese bereitgestellt   Eigenschaft ist nur für Situationen, in denen   Sie wollen eine Aktion Blatt anzuzeigen   Verwendung der showFromTabBar: Verfahren   die UIActionSheet Klasse.

Wenn Sie Ihren UITabBarController auf einen Navigation-Controller-Stack schieben Sie die hidesBottomBarWhenPushed Eigenschaft auf JA gesetzt, und das wird funktionieren.

Es könnte auch eine andere API in UITabBarController der übergeordneten Klasse sein, die dies tun werden. Wenn Sie nicht durch die subview Hierarchie gehen können und die notwendigen verbergen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top