我正在基于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/

10-12 05:32