【发布时间】:2019-09-27 15:21:29
【问题描述】:
我正在使用故事板并且有 3 个 VC。当我在 VC3 上时,我希望后退按钮跳过 VC2 并转到 VC1。
我尝试了以下方法,但在我到达 VC1 之前 VC2 会闪烁
override func viewWillDisappear(_ animated: Bool) {
self.navigationController?.popViewController(animated: true)
}
我的自定义返回码:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true
self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "arrow_back")
self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "arrow_back")
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: #selector(self.backPressed(_:)))
self.navigationController?.navigationBar.barStyle = .black
}
@objc func backPressed(_ sender: Any){
print("here")
self.navigationController?.popToRootViewController(animated: false)
}
【问题讨论】:
-
在 VC3 中按下返回时尝试使用 navigationController?.popToRootViewController(animated: true)。
-
使用展开转场
-
如何推送
VC3?使用故事板转场? -
@Vikky 如何将那段代码分配给我的后退按钮?
-
只需在 VC3 中后退按钮的 @IBAction 中编写代码。但我认为你正在使用 segue?。