在iOS 7中忽略了hidesBottomBarWhenPushed

时间:2013-09-27 09:49:22

标签: ios uinavigationcontroller uitabbarcontroller ios7

此代码在iOS 7发布之前运行良好。我将UIViewControllerhidesBottomBarWhenPushed分配为YES作为rootViewController的{​​{1}}。但无论如何都会显示TabBar。这是相关的代码:

UINavigationController

有类似问题的人吗?

3 个答案:

答案 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)。它的工作。