推送ios后,先前的导航视图控制器停留

时间:2017-07-11 13:01:50

标签: ios objective-c

This is my initial view

这是我的初步观点

所以我要使用右下方按钮导航。然后登陆:

enter image description here

按下OK后。我想回到之前的2个屏幕,这是" Schedule"页。

enter image description here

这是我的结果。我已经登陆了我想要的页面但是左上角说"<模板"而且我不想要那个。我想回去开始新鲜事。

按下okay时,这是我的代码片段触发器:

UIViewController* vc = [mainStoryboard instantiateViewControllerWithIdentifier: @"autoModeViewController"];
[self.navigationController pushViewController:vc animated:YES];

这是我的故事板看起来像:

enter image description here

2 个答案:

答案 0 :(得分:0)

你的导航层次错误。 你需要做这样的事情:

导航控制器 - > ScheduleViewController - > TemplateViewController 从ScheduleViewController你需要按下按钮点击TemplateViewController,当点击TemplateViewController的后退按钮时,你需要弹出ViewController,以便只有ScheduleViewController保持在堆栈顶部。

告诉我您是否需要更多详细信息。

答案 1 :(得分:0)

当您真正想要从导航控制器弹出时,您正在推送到导航控制器。

尝试使用以下代码替换您的代码:

[self.navigationController popViewControllerAnimated:YES];

编辑:

进一步说明: 首次启动时,导航控制器如下所示:

NavController -> Schedule

然后将模板视图控制器推送到它,使其如下所示:

NavController -> Schedule -> Template

您拥有它的方式,您将第一个视图控制器的实例推送到导航控制器上,因此当您点击确定按钮时导航控制器现在看起来像这样:

NavController -> Schedule -> Template -> Schedule

如果弹出它,导航控制器将再次显示如下:

NavController -> Schedule