我正在基于iAdSuite中的TabbedBanner示例实现设计。我在第一个标签中有一个UINavigationController。在该UINavigationController中,我有一个视图控制器,该视图控制器仅具有一个按钮,该按钮可以推到另一个视图控制器。推入的视图控制器在Interface Builder中设置为“推入时隐藏底部栏”。
这是我设置UITabBarController的代码。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:[[NSBundle mainBundle].infoDictionary objectForKey:@"UIMainStoryboardFile"] bundle:[NSBundle mainBundle]];
_tabBarController = [storyboard instantiateViewControllerWithIdentifier:@"TabBarController"];
_tabBarController.delegate = self;
FirstViewController *firstView = [storyboard instantiateViewControllerWithIdentifier:@"FirstViewController"];
UINavigationController *firstNav = [[UINavigationController alloc] initWithRootViewController:firstView];
_tabBarController.viewControllers = @[[[BannerViewController alloc] initWithContentViewController:firstNav], ];
self.window.rootViewController = _tabBarController;
[self.window makeKeyAndVisible];
return YES;
}
一切正常,但当我按下一个下一个视图控制器时,TabBar不会被隐藏。我尝试使用“界面生成器”复选框以及nextViewController.hidesBottomBarWhenPushed = YES隐藏TabBar,但两种方法均无效。
如果我删除BannerViewController实现,则TabBar完全隐藏它应该隐藏的位置。
在我看来,BannerViewController正在干扰能够隐藏TabBar的UINavigationController。
在这种类型的设置中,是否可以使用“按下时隐藏底栏”来隐藏TabBar?
谢谢
注意:我意识到上面的代码只有一个标签。为了清楚起见,我删除了其他标签。
最佳答案
我认为发生这种情况是因为BannerViewController本身只是一个容器viewController,并且它从未实际推送另一个视图控制器。视图控制器被推入容器中。
关于ios - BannerViewController会干扰hidesBottomBarWhenPushed,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16199335/