【问题标题】:How to imitate same action for back button as in back button of navigation controller using swift?如何使用swift模仿与导航控制器的后退按钮相同的后退按钮动作?
【发布时间】:2020-12-17 05:33:59
【问题描述】:

我有两个导航控制器如下:

  1. 导航控制器1 -> 视图控制器1
  2. 选项卡视图控制器 -> 导航控制器 2 -> 视图控制器 2

当我在 View controller2 中并按下返回按钮时,我想转到 View controller1。使用导航栏中的内置后退按钮可以正常工作,但是当我尝试自己编写时它不起作用。

我尝试了以下语句,但没有奏效:

  1. self.dismiss(animated: true, completion: nil)
  2. self.navigationController?.dismiss(animated: true, completion: nil)
  3. navigationController?.popViewController(animated: true)
  4. let story = UIStoryboard(name: "Main", bundle: nil)
    let pushVC = story.instantiateViewControllerWithIdentifier("VC1")
    let navigation = story.instantiateViewControllerWithIdentifier("Navigation1") as! UINavigationController
     navigation.pushViewController(VC1!, animated: true)

【问题讨论】:

  • 查看控制器 1 存在还是推送??
  • @HimanshuPatel 这是推送。
  • 第一次 Navigation controller1 -> View controller1 go push to Navigation controller2 -> View controller2 对吧?然后 View controller2 -> View controller1 向右移动?
  • 是的...我希望 View controller2 -> View controller1 发生

标签: ios swift


【解决方案1】:

如果您只在第一个中使用 navigationController,那么您可以使用它导航到您的 ViewController2:

 let vc2 = storyboard?.instantiateViewController(identifier: "ViewController2") as! ViewController2
    navigationController?.showDetailViewController(vc2, sender: self)

然后,如果您想从 viewController2 回到 ViewController1,您可以创建取消按钮并连接其动作并将其写入动作:

@IBAction func buttonCancelAction(_ sender: Any) {
        self.dismiss(animated: true, completion: nil)
    }

但是,如果 ViewController1 和 ViewController2 中都有一个 navigationController,那么您将使用以下内容:

 let VC2 = storyboard?.instantiateViewController(identifier: "ViewController2") as! ViewController2
    navigationController?.pushViewController(VC2, animated: true)

你可以弹出它(关闭它):

    @IBAction func buttonCancelAction(_ sender: Any) {
        navigationController?.popViewController(animated: true)
}

【讨论】:

    猜你喜欢
    • 2012-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-29
    • 2019-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多