BannerViewController干扰hidesBottomBarWhenPushed

时间:2013-04-24 18:16:36

标签: ios uinavigationcontroller uitabbarcontroller iad

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

由于

注意:我意识到上面的代码只有一个标签。为清楚起见,我删除了其他标签。

1 个答案:

答案 0 :(得分:1)

我认为这种情况正在发生,因为BannerViewController本身只是一个容器viewController,它实际上从未推送过另一个视图控制器。视图控制器被推入容器内。