我有一个带有按钮的标签栏控制器:
- (void) addButtonPressed:(UIButton *) sender
{
[sender setBackgroundColor:[UIColor regularColor]];
PostViewController *post = [[PostViewController alloc] init];
[self.navigationController pushViewController:post animated:YES];
}
此代码运行但PostViewController从未显示,并且标签栏控制器仍然存在。
如何推送到新控制器?
创建了NavigationController,并将StartViewController添加为rootController。
然后在StartViewController中我有:
TabBarController *tab = [[TabBarController alloc] init];
// Presentation
[self presentViewController:tab animated:NO completion:nil];
答案 0 :(得分:0)
在标签栏中,您需要创建单独的导航控制器。
假设有3个选项卡A,B和C.所有这三个选项卡都具有从一个视图到另一个视图的导航功能。比你需要创建三个单独的导航控制器,指向选项卡A,B和C.这样你就可以导航到特定选项卡中的任何类。
有关详细信息,请查看此link。
希望这会对你有所帮助。快乐编码:)
答案 1 :(得分:0)
您可能需要在导航控制器中嵌入标签栏控制器,在您的故事板中单击您的tabbarController
,使其以所有蓝线突出显示,然后转到Xcode中的编辑器选择嵌入IN> UINavigationController
..如果您想以编程方式执行此操作,请在您设置窗口的AppDelegate
中使用此::
UINavigationController* navigationController = [[UINavigationController alloc] initWithRootViewController:tabBarController];
navigationController.toolbarHidden=YES;
navigationController.navigationBarHidden=YES;
self.window.rootViewController =navigationController;
答案 2 :(得分:0)
如果您使用.xib,则必须使用NSBundle
加载nib
如果您使用的是故事板,则需要使用prepareForSegue
传递数据或只显示数据