在UITabBarController的UINavigationController中推送UIViewController

时间:2015-01-20 17:42:41

标签: objective-c uiviewcontroller uinavigationcontroller uitabbarcontroller

我有一个带有4个标签的UITabBarController。每个选项卡都是一个UINavigationController,其UIViewController作为RootViewController加载。 例如:

Tab1ViewController* viewC = [[Tab1ViewController alloc] initWithNibName:nil bundle:nil];
UINavigationController* navCDisc = [[UINavigationController alloc] initWithRootViewController: viewC];

点击我的Tab1ViewController中的按钮,我现在必须在现有的UIViewController之上推送一个新的UIViewController。我怎样才能做到这一点?

在Tab1ViewController.m文件中,我试过:

UIViewController *newVC = [[UIViewController alloc] initWithNibName:nil bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:newVC];
[self.navigationController pushViewController:newVC animated:YES];

这种行为奇怪且自动切换标签。

1 个答案:

答案 0 :(得分:0)

UIViewController *newVC = [[UIViewController alloc] initWithNibName:nil bundle:nil];
[self.navigationController pushViewController:newVC animated:YES];

就是这样,不要创建另一个UINavigationController。如果它不起作用,请确保代码已执行且self.navigationController不是nil(放置断点);如果是的话,它会起作用