iAdSuite の TabbedBanner の例に基づいてデザインを実装しています。最初のタブに UINavigationController があります。そのUINavigationControllerには、別のView Controllerにプッシュするボタンを持つView Controllerがあります。プッシュされたView Controllerは、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;
}
次のView ControllerにプッシュしたときにTabBarが非表示にならないことを除いて、すべてが機能します。Interface Builderチェックボックスを使用してTabBarを非表示にしようとしましたが、nextViewController.hidesBottomBarWhenPushed = YESを使用してもうまくいきません。
BannerViewController の実装を削除すると、TabBar は正確に非表示になります。BannerViewController が、TabBar を非表示にできる UINavigationController に干渉しているように思えます。
このタイプのセットアップで TabBar を非表示にするために、Hides Bottom Bar When Pushed を使用することは可能ですか?
ありがとう
注: 上記のコードにはタブが 1 つしかないことに気付きました。わかりやすくするために、他のタブを削除しました。