我有一个带有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];
这种行为奇怪且自动切换标签。
答案 0 :(得分:0)
UIViewController *newVC = [[UIViewController alloc] initWithNibName:nil bundle:nil];
[self.navigationController pushViewController:newVC animated:YES];
就是这样,不要创建另一个UINavigationController。如果它不起作用,请确保代码已执行且self.navigationController不是nil(放置断点);如果是的话,它会起作用