在视图堆栈

时间:2016-09-26 10:06:47

标签: ios swift swift3

一旦执行了segue,我将如何解雇视图控制器?一旦新的视图控制器在顶部进行了动画处理,我想解除下面的视图控制器(最初触发segue的视图控制器)。

我尝试了以下代码,但我遇到的问题不在于heirarchy。

@IBAction func gotoSection1(_ sender: AnyObject) {
    let presentingViewController: UIViewController! = self.presentingViewController

    self.dismiss(animated: false) {
        presentingViewController.dismiss(animated: false, completion: nil)
    }
}

任何帮助都会受到极大的反响。

2 个答案:

答案 0 :(得分:1)

试试这个:

将以下代码添加到第一个视图控制器。

override func prepare(for segue: UIStoryboardSegue, sender: Any?)
    {
        self.dismiss(animated: true, completion: nil)
    }

在将第二个视图控制器放在其上之前,它将关闭第一个视图控制器。

修改

请按照以下步骤检查:

  1. 在第一个视图控制器中创建一个按钮
  2. 使用模态segue
  3. 将按钮连接到第二视图控制器
  4. 在第一个视图控制器中实施prepareForSegue

答案 1 :(得分:0)