我正在尝试导航到“Home”视图控制器,为此我在ContainerViewController中编写了以下代码。但是一旦代码执行,应用程序就会挂起并显示100%的CPU使用率。请帮忙。
- (IBAction) home:(UIButton *)sender
{
HomeViewController *homeViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"HomeViewController"];
[self.navigationController pushViewController:homeViewController animated:YES];
//[self presentViewController:homeViewController animated:YES completion:nil];
}
答案 0 :(得分:1)
我有一个问题
1 - 如果你想将SecondViewController推送到FirstViewController,那么你的代码已经足够了
2 - 如果你在firstViewController中有一个containerview,你想将SecondViewcontroller的视图添加到firstViewController
然后使用此代码
UIViewController*vc1 = [[test1 alloc]initWithNibName:@"SecondViewController" bundle:nil];
//add to the container vc which is self
[self addChildViewController:vc1];
//the entry view (will be removed from it superview later by the api)
[self.view addSubview:vc1.view];
答案 1 :(得分:0)
我想你想在这里放松一下。在您的第一个视图控制器中添加:
- (IBAction)unwindToFirstViewController:(UIStoryboardSegue*)sender
{
}
然后,您需要将每个视图控制器主页按钮连接到视图控制器底部的绿色“退出”按钮,然后选择unwindToMainMenu选项。然后,这会在您按下时返回第一个视图控制器。
答案 2 :(得分:0)
您是否尝试过弹出当前视图?
navigationController?.popViewControllerAnimated(true)
或只是弹出到root?
navigationController?.popToRootViewControllerAnimated(true)
或设置新堆栈?
navigationController?.setViewControllers(homeViewController, animated: true)
代码在Swift中,但它在ObjectiveC中的工作方式相同