在iPhone中显示/隐藏TabBarController

时间:2009-08-31 10:29:24

标签: iphone objective-c xcode

我正在iphone中制作应用程序,其中我有4个tabbars&在其中一个选项卡中,我在第二个视图中有4个视图,它需要隐藏标签栏。我可以使用正在推送的Viewcontroller的initWithNib方法中的setHidesBottomBarWhenPushed:YES来隐藏标签栏。但是当导航到屏幕3时,使用“否”调用相同的方法不会使标签栏出现。任何想法?

4 个答案:

答案 0 :(得分:8)

约翰史密斯是对的。该示例的网址为:http://developer.apple.com/iphone/library/samplecode/TheElements/index.html

执行此操作的代码位于AtomicElementViewController.m中,实现此效果的行位于init方法中:

    self.hidesBottomBarWhenPushed = YES;

答案 1 :(得分:7)

我有同样的问题来显示或隐藏使用UITableViewController自定义类的标签栏控制器。不知何故,通过使用以下代码,无法隐藏标签栏控制器:

- (void) viewDidLoad {
     self.hidesBottomBarWhenPushed = YES;

}

对于带有segue的故事板,initWithStyle:方法不会被调用。

相反,我必须覆盖该属性才能使其正常工作:

- (BOOL) hidesBottomBarWhenPushed {
  return YES;
}

我的情况是iOS 5.1的故事板和segue推送到下一个视图(我想隐藏标签栏控制器)。

答案 2 :(得分:1)

看一下Apple的Elements项目。当您查看单个元素时,它们会隐藏和取消隐藏标签栏。

答案 3 :(得分:1)

在将第3个视图推入堆栈之前,将第2个视图的hidesBottomBarWhenPushed设置为NO。