我正在基于iAdSuite中的TabbedBanner示例实现设计。我在第一个选项卡中有一个UINavigationController。在那个UINavigationController中,我有一个视图控制器,它只有一个按钮,可以推送到另一个视图控制器。推送的视图控制器设置为在界面生成器中隐藏推送底栏。
以下是我正在设置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不会被隐藏。我尝试使用Interface Builder复选框隐藏TabBar以及使用nextViewController.hidesBottomBarWhenPushed = YES并且两种方式都不起作用。
如果我删除了BannerViewController实现,TabBar就会完全隐藏它。 在我看来,BannerViewController正在干扰能够隐藏TabBar的UINavigationController。
是否可以使用Hides Bottom Bar At Pushed在此类设置中隐藏TabBar?
由于
注意:我意识到上面的代码只有一个标签。为清楚起见,我删除了其他标签。
答案 0 :(得分:1)
我认为这种情况正在发生,因为BannerViewController本身只是一个容器viewController,它实际上从未推送过另一个视图控制器。视图控制器被推入容器内。