我遇到的情况是,应以编程方式呈现制作成VC(嵌入NavController中)的情节提要。

SomeVC->呈现NavController(rootVC)-> rootVC-> pushs subVC

在此表示形式上,subVC应该具有一个后退按钮以返回到rootVC,但是我不能以这种方式实现它。将提供我已经尝试过的示例代码。

这直接推动了rootVC:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"storyBoard" bundle: nil];
UIViewController * vc = [storyboard instantiateViewControllerWithIdentifier:@"rootVC"];
[self.navigationController presentViewController:vc animated:YES completion:nil];


还尝试推送navigationController本身,已在情节提要板上设置了ID:

UINavigationController *navController = [storyboard instantiateViewControllerWithIdentifier:@"navigationController"];
[self presentViewController:navController animated:YES completion:nil];


ios - 展示一个嵌入在导航 Controller 中的ViewController-LMLPHP

编辑:情节提要实现看起来像这样

最佳答案

我不确定我是否正确理解您。您想提供一个导航控制器,并已经有那些rootVC和subVC,对吗?因此,在呈现之后,您希望立即使用后退按钮呈现subVC。

如果是这种情况,您需要在显示它之前告诉导航控制器推送subVC

UINavigationController *navController = [storyboard instantiateViewControllerWithIdentifier:@"navigationController"];
UIViewController *subVC = [storyboard instantiateViewControllerWithIdentifier:@"subVC"];
[navController pushViewController:subVC animated:NO];
[self.navigationController presentViewController:vc animated:YES completion:nil];

10-05 20:20