ios - 如何从堆栈中删除旧的 ViewController

标签 ios iphone xcode swift

我想知道如何从堆栈中删除我的旧 VC?

当我启动我的应用程序时,标题中有一个汉堡包图标/菜单按钮。

我想做的是,当用户登录到我的应用程序时,我想将 VC/帐户页面设置为 Root View ,这样我在查看检查器时就看不到底层 VC。

所以或多或少我想在帐户页面的标题中添加一个菜单按钮,而不是有一个后退按钮。

我已经试过了,但我无法让它工作:

let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle())
let yourViewController: ViewController = storyboard.instantiateViewControllerWithIdentifier("respectiveIdentifier") as! ViewController

let navigationController = self.window?.rootViewController as! UINavigationController
navigationController.setViewControllers([yourViewController], animated: true)

最佳答案

我认为你可以使用:

navigationController!.viewControllers.removeAtIndex((navigationController?.viewControllers.count)! - 2)

您的新 Controller 加载后使用此方法,因此这基本上会删除堆栈中最后一个之前的 Controller 。如果您在实现它时遇到任何问题,请告诉我。

关于ios - 如何从堆栈中删除旧的 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33368320/

相关文章:

ios - -[当我使用 UITraitCollection 变体时,UITextView setAttributedText :] stops working,

ios - 如何在 iPhone 锁定屏幕上放置一个图标?

iphone - 使用在线服务的可靠iPhone应用程序的提示

C++/OpenGL,绘制随机字符到屏幕

ios - 如何修复 64 位版本与 32 位版本中的 Coreplot 饼图问题

ios - 修复 SwiftUI 中自定义字体的行距

c++ - cocos2d-x 不理解图像/屏幕/比例,opengl windows 模拟器和真实设备之间的相对大小

swift - 如何在 Swift 中将指针的地址传递给 C API 的参数?

ios - 升级后的 Firebase - 现在出现 Swift 编译错误

objective-c - 核心数据、iVar 和类别