UITabbarController中的UINavigationBar上没有后退按钮

时间:2013-10-20 22:45:13

标签: ios uinavigationcontroller uitabbarcontroller uinavigationbar

我正在开发iOS6iOS7的应用。我刚刚发现了两种版本之间不同的奇怪行为。

我的应用有UITabbarController个标签,每个标签为UINavigationController

iOS6 push navControllers ViewController root back navigationBar back iOS7 "Back" OS UITabBarController- (id)init { self = [super init]; if (self) { NSMutableArray *vcs = @[].mutableCopy; JBNavigationVC *navVC = nil; if ([JBUser sharedInstance].isLoggedIn) { _productCategoryVC = [[JBProductCategoryVC alloc] init]; _productCategoryVC.title = @"Products"; navVC = [[JBNavigationVC alloc] initWithRootViewController:_productCategoryVC]; [vcs addObject:navVC]; _triviaVC = [[JBTriviaVC alloc] init]; _triviaVC.title = @"Trivia"; navVC = [[JBNavigationVC alloc] initWithRootViewController:_triviaVC]; [vcs addObject:navVC]; _infoVC = [[JBInfoVC alloc] init]; _infoVC.title = @"Info"; navVC = [[JBNavigationVC alloc] initWithRootViewController:_infoVC]; [vcs addObject:navVC]; } self.viewControllers = vcs; } return self; } UINavigationController中的按钮。但是,任何后续推送都会显示tabbarVC按钮。

AppDelegate上,我看到第一次按下后没有标题的后退按钮和后续按下后标题为 _tabBarVC = [[JBTabBarVC alloc] init]; [_tabBarVC setSelectedIndex:0]; [self.window setRootViewController:_tabBarVC]; 的后退按钮。

这种行为是正常的吗?我不明白为什么会这样。无论VC版本如何,每次推送后如何确保我都有一个后退按钮。


修改

为清晰起见,这是一些代码:

这就是我发起UITableView

的方式
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

JBNavigationVC是if (!_productsListVC) { _productsListVC = [[JBProductsListVC alloc] init]; } _productsListVC.category = category; [self.navigationController pushViewController:_productsListVC animated:YES]; 的子类。这是我转换到{{1}}

中{{1}}的方式
{{1}}

这会将第一个{{1}}设置为前面。此VC中包含{{1}},{{1}}我执行此操作:

{{1}}

0 个答案:

没有答案