问题描述
此代码在 iOS 7 发布之前运行良好.我正在分配一个 UIViewController
,其中 hidesBottomBarWhenPushed
作为 YES
,作为 UINavigationControllerrootViewController
/代码>.但是 TabBar 无论如何都会显示出来.以下是相关代码:
This code was working well until iOS 7 release. I'm assigning a UIViewController
, with hidesBottomBarWhenPushed
as YES
, as the rootViewController
of an UINavigationController
. But the TabBar is being shown anyway. Here's the relevant code:
Login *lv = [[Login alloc] init];
lv.HowToUseShows = showHowToUse;
lv.hidesBottomBarWhenPushed = YES;
UINavigationController *BokShelfNav = [[UINavigationController alloc] initWithRootViewController:lv];
//...
UITabBarController *tbController = [[UITabBarController alloc] init];
tbController.viewControllers = @[BokShelfNav,...];
有类似问题的人吗?
推荐答案
我发现调用方法和设置属性的顺序对标签栏是否显示有影响.
I found that the order in which methods are called and properties are set has an impact on whether the tab bar is shown.
如果我将 self.hidesBottomBarWhenPushed = YES;
放在视图控制器的 viewDidLoad
方法中,我正在推动的标签栏仍然显示.如果我将它移到 init
方法,标签栏会像在 iOS 6 上一样隐藏.
If I put self.hidesBottomBarWhenPushed = YES;
in the viewDidLoad
method of the view controller I'm pushing the tab bar still shows. If I moved it to the init
method the tab bar hides as it used to on iOS 6.
这篇关于hidesBottomBarWhenPushed 在 iOS 7 中被忽略的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!