从导航控制器中解除推送视图

Dar*_*ren 23 iphone xcode uiviewcontroller ios

我有一个带有View Controller的导航控制器,显示一个按钮.该按钮使用push segue链接到另一个View Controller,后者会自动添加带有后退按钮的顶部导航栏.一切正常.按后退按钮滑出第二个视图并返回到第一个视图.

我在第二个视图控制器上有一个按钮,当按下时会运行一些代码并委托回调给第一个视图控制器.再次这很好.

现在我只需要从代码中解除第二个推送的视图,就像按下后退按钮一样.我尝试过使用dismissModalViewCcontrollerAnimated和dismissViewControllerAnimated,但是它们都会关闭整个导航控制器,它会删除视图2和1(将bak返回到我的主菜单).

什么是从视图中滑落的正确方法.

Sta*_*ash 37

获取对UINavigationController的引用并调用

- (UIViewController *)popViewControllerAnimated:(BOOL)animated
Run Code Online (Sandbox Code Playgroud)

在上面.

  • 谢谢.这使我走上了快速谷歌搜索的正确道路.这工作[self.navigationController popViewControllerAnimated:YES]; (7认同)

Gar*_*Cox 11

在Swift中,它将调用该方法

self.navigationController?.popViewControllerAnimated(true)
Run Code Online (Sandbox Code Playgroud)