此代码在iOS 7发布之前运行良好。我将UIViewController
与hidesBottomBarWhenPushed
分配为YES
作为rootViewController
的{{1}}。但无论如何都会显示TabBar。这是相关的代码:
UINavigationController
有类似问题的人吗?
答案 0 :(得分:23)
我发现调用方法和设置属性的顺序会影响标签栏是否显示。
如果我将self.hidesBottomBarWhenPushed = YES;
放在视图控制器的viewDidLoad
方法中,我正在推动标签栏仍然显示。如果我将其移动到init
方法,则标签栏会像在iOS 6上一样隐藏。
答案 1 :(得分:2)
我找到的唯一解决方法是使tabBarController在另一个选项卡([tbController setSelectedIndex:1];
)中启动,然后在该选项卡的viewWillAppear:
方法中查看ViewController执行[tbController setSelectedIndex:0];
答案 2 :(得分:1)
我在push语句之后设置了setSelectedIndex并且它有效。
//created tabbar controller object
if(index==0)
[tabbarcontroller setSelectedIndex:1];
[self.navigationcontroller pushViewcontroller:tabbarcontroller anmated:YES];
[tabbarcontroller setSelectedIndex:index];
唯一的问题是,如果您将控制器显示在它将显示的第0个索引处。在这种情况下,我首先将mt tabbarcontroller的索引设置为1(不同于0)。它的工作。