gpt4 book ai didi

ios - 覆盖导航 Controller 中的后退按钮

转载 作者:可可西里 更新时间:2023-10-31 23:57:52 25 4
gpt4 key购买 nike

我有这些流程的 Storyboard。我正在使用 SWRevealViewController导航到每个导航 Controller 。

- Navigation Controller 1 --> View Controller Initial (Home) --> View Controller Target
- Navigation Controller 2 --> View Controller X --> View Controller Y --> View Controller Target
- Navigation Controller 3 --> View Controller M --> View Controller Target

从每个流的 View Controller Target,我想覆盖它的后退按钮,以便它可以返回到 View Controller Initial (Home) 并在内存中释放它的对象。

有没有办法做到这一点?任何帮助,将不胜感激。谢谢。

最佳答案

首先,您需要将后退按钮替换为带有选择器的自定义后退按钮。

self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Back", style: .Done, target: self, action: #selector(self.backToInitial(_:)))

func backToInitial(sender: AnyObject) {
self.navigationController?.popToRootViewControllerAnimated(true)
}

如果你正在运行 swift 3.0 那么 selector 语法是这样的。

self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Back", style: .Done, target: self, action: #selector(self.backToInitial(sender:)))

编辑:对于 SWRevealViewController 尝试这样。

let revealController = self.revealViewController;
let vc = self.storyboard?.instantiateViewControllerWithIdentifier("InitialViewController") as! InitialViewController
let navigationController = UINavigationController(rootViewController: vc)
revealController.pushFrontViewController(navigationController, animated:true)

关于ios - 覆盖导航 Controller 中的后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39223039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com