我正在实施基于 iAdSuite 中 TabbedBanner 示例的设计。我在第一个选项卡中有一个 UINavigationController。在那个 UINavigationController 我有一个视图控制器,它只是有一个按钮,可以推送到另一个视图控制器。推送的视图控制器在 Interface Builder 中设置为 Hide Bottom Bar On Push。
这是我设置 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 复选框以及使用 nextViewController.hidesBottomBarWhenPushed = YES 隐藏 TabBar,但两种方法都不起作用。
如果我删除 BannerViewController 实现,TabBar 将完全隐藏。在我看来, BannerViewController 正在干扰 UINavigationController 能够隐藏 TabBar。
在这种类型的设置中,是否可以使用“按下时隐藏底部栏”来隐藏 TabBar?
谢谢
注意:我意识到上面的代码只有一个选项卡。为了清楚起见,我删除了其他选项卡。