如何从 UITabBarController 访问 _tabBar 实例
我正在尝试从 UITabBarController 访问 _tabBar 实例。 我试图在某些情况下隐藏 tabBar,为此,我向 UITabBarController 添加了一个扩展,我可以在其中访问 _tabBar 实例,并调用 setHidden 消息。 这在为模拟器编译时有效,但是当我为设备编译时,我收到以下错误
“_OBJC_IVAR_$_UITabBarController._tabBar”,引用自: UITabBarController+TabBar.o 中的 _OBJC_IVAR_$_UITabBarController._tabBar$non_lazy_ptr
我需要在编译器标志中添加什么? 以及为什么它在为模拟器编译时有效。
提前致谢。
I am trying to access the _tabBar instance from a UITabBarController. I am trying to hide the tabBar in certain situations, for this, I added an extension to UITabBarController, where I can access the _tabBar instance, and call the setHidden message. This works when compiling for the simulator, but when I compile for the device, I get the following error
"_OBJC_IVAR_$_UITabBarController._tabBar", referenced from:
_OBJC_IVAR_$_UITabBarController._tabBar$non_lazy_ptr in UITabBarController+TabBar.o
What do I need to add to my compiler flags? and why does it works when compiling for the simulator.
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
根据 UITabBarController 的文档:
如果您将 UITAbBarController 推送到导航控制器堆栈上,您可以将 hidesBottomBarWhenPushed 属性设置为 YES,这样就可以了。
UITAbBarController 的超类中可能还有另一个 API 可以执行此操作。 如果没有,您可以遍历子视图层次结构并隐藏必要的层次结构。
According to The Docs for UITabBarController:
If you are pushing your UITAbBarController onto a navigation controller stack you can set the hidesBottomBarWhenPushed property to YES, and that will work.
There might also be another API in UITAbBarController's superclass that will do this. If not you could walk through the subview hierarchy and hide the necessary one.
从 iPhone OS 3.0 开始就可以使用
It is accessible since iPhone OS 3.0