ios - 转到新的 UIViewController 时如何从层次结构中删除 UIViewController?

标签 ios iphone swift uiviewcontroller uinavigationcontroller

我正在开发一个应用,就 View 的运行方式而言,它不是很“连续”。

例如,我可以进入以下场景,在该场景中我会继续查看新 View :

MatchesNavigationController -> ModalOptionsController -> ProfileViewController -> ModalOptionsController -> MatchesNavigationController -> MatchesNavigationController...

等等等等。

在英语中,发生的事情是用户正在查看他们的匹配对象并在与用户的短信中,然后他们单击工具栏中的模态选项按钮并弹出一些选项,然后用户想查看他们的个人资料。然后从配置文件中,他们可以单击一个按钮来弹出相同的模式,然后可以从那里转到与该人的对话,这将再次返回到他们正在查看对话的导航 Controller 。然后他们可以从那里再次单击选项,转到配置文件,然后重复...

但是如果我在 ProfileViewController 上,我可以按“后退”,这将通过我编写的自定义 RightToLeft segue 继续“回到”MatchesNavigationController .

所以我可以进入 ViewController 堆栈在这个实例中开始变得越来越大的实例。

当我也这样做时(进入这个循环的工作流),我有一个自定义的 LeftToRight segue,我写了因为我希望它看起来像,对用户来说,他们正在朝那个方向导航。

我该如何清理您可以在此处进入的这种循环类型导航中的先前 View ?

最佳答案

prepareForSegue: 中调用 self.navigationController.popViewControllerAnimated(true) 在 segueing 之前,它会在推送下一个 View Controller 之前从堆栈中释放当前 View Controller 。

关于ios - 转到新的 UIViewController 时如何从层次结构中删除 UIViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34792412/

相关文章:

ios - 如何检查我的NSMutableOrderedSet中是否存在我的NSString?

ios - 从 CollectionView didSelect Swift 3 继续移动

iphone - Restkit 覆盖本地实体更改

json - iOS/Swift/JSON : Parse nested JSON with swiftyJSON

javascript - Parse.com 限制帖子吗?

ios - Xcode 5 Storyboard - presentViewController 不呈现我现有的 Viewcontroller 并显示黑屏

ios - UITableViewCell 没有按预期重新加载

iphone - OpenGL ES 帮助——提高 PanoramaGL 的球面分辨率?

iphone - 获取 GDataFeedPhotoAlbum 返回错误的对象类型

swift - 在 String 属性上搜索数组和子数组?