如何从UITabBarController访问_tabBar实例

时间:2009-03-14 02:26:22

标签: iphone uitabbarcontroller

我正在尝试从UITabBarController访问_tabBar实例。我试图在某些情况下隐藏tabBar,为此,我添加了一个UITabBarController的扩展,我可以访问_tabBar实例,并调用setHidden消息。这在编译模拟器时有效,但是当我为设备编译时,我收到以下错误

“_ OBJC_IVAR _ $ _ UITabBarController._tabBar”,引自:       UITabBarController中的_OBJC_IVAR _ $ _ UITabBarController._tabBar $ non_lazy_ptr + TabBar.o

我需要在编译器标志中添加什么?为什么在编译模拟器时它可以工作。

提前致谢。

2 个答案:

答案 0 :(得分:3)

根据UITabBarController的文档:

  

你永远不应该试图操纵   UITabBar对象本身存储在   这个性质。如果你试图这样做   所以,标签栏视图会抛出一个   例外。配置项目   你的标签栏界面,你应该   而是分配一个或多个自定义视图   控制器到viewControllers   属性。标签栏收集   视图中需要的标签栏项目   你指定的控制器。

     

此处提供的标签栏视图   属性仅适用于以下情况   您想要显示一个操作表   使用showFromTabBar:方法   UIActionSheet类。

如果要将UITAbBarController推送到导航控制器堆栈,可以将hidesBottomBarWhenPushed属性设置为YES,这样就可以了。

UITAbBarController的超类中可能还有另一个API可以执行此操作。如果没有,您可以浏览子视图层次结构并隐藏必要的层次结构。

答案 1 :(得分:0)

自iPhone OS 3.0起可以访问