展示一个嵌入在导航控制器中的ViewController

时间:2019-01-08 07:15:48

标签: ios objective-c uinavigationcontroller

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

SomeVC->呈现NavController(rootVC)-> rootVC->推送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];

storyboard implementation

编辑:情节提要实现如下

1 个答案:

答案 0 :(得分:1)

我不确定我是否理解正确。您想展示一个导航控制器,并已经有那些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];