Wie kann ich auf _tabBar Instanz von UITabBarController
-
22-07-2019 - |
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.
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.