按下后退按钮时如何跳过上一个视图

Sau*_*ron 6 model-view-controller uinavigationcontroller ios swift

我的导航如下:

List of Friends with messages Controller(点击撰写)-> List of friends to select chatting(选择好友)-> Show chat with friend

目前,如果在 内Show chat with friend,并且用户选择back,则将它们带到List of friends to select chatting控制器。我想跳过这个控制器,并在返回选择时导航到List of Friends with messages Controller

注意:List of Friends with messages Controller是嵌入在选项卡中的。

我尝试使用: self.navigationController?.viewControllers.removeLast(), 在segue之间 List of friends to select chatting将其从堆栈中删除。但是在导航到之后Show chat with friend,后退按钮消失了......

如何允许我描述的导航?

Sam*_*m B 0

这有点棘手。我将如何解决这个问题是

  • 在 viewWillAppear 下与朋友视图控制器显示聊天中,我将设置一个名为 pageViewed 的 NSUserDefault 并将其值设置为 1。

  • 现在,在好友列表中选择 viewWillAppear 下的聊天视图控制器,我将检查 pageViewed NSUserDefault 的值是否为 1。如果是,则将其设置回 0 并调用 make a 将其从堆栈中删除。

//Remove from Nav-Stack
[self.navigationController popViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)

这又有点棘手,但绝对可行。