是否可以在 Swift 中实现没有导航控制器的退出转场?

问题描述 投票:0回答:1

我是 Swift 的新手,正在开发一个投资组合应用程序。我读过可以使用导航控制器添加带有退出转场的按钮以返回屏幕。 但是,我想在不使用导航控制器的情况下实现此功能。

我已经尝试创建一个带有退出 segue 的按钮并将其连接到 IBAction,但是单击时该按钮仍然处于非活动状态。我发现的所有教程都使用导航控制器来实现此功能,所以我不确定是否可以在没有导航控制器的情况下实现。

我的问题是:是否可以在不使用导航控制器的情况下添加带有退出转场的按钮并使其按预期工作?如果是这样,我需要遵循哪些步骤才能使其正常工作?

感谢您提供的任何帮助!

这是我在 SecondScreen Swift 文件中的代码:

import UIKit

class SecondScreen: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }
    
    @IBAction func goBack(segue: UIStoryboardSegue) {
        // This method is called when the exit segue is performed.
    }
    
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "goBack" {
            // This is where you would prepare any data to be passed back to the previous view controller.
        }
    }

}

第一个屏幕有以下代码:

import UIKit

class FirstScreen: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }


}

当我完成所有这些设置后,我将按钮拖放到退出 segue,就像我在所有教程中被告知的那样,但最后它仍然处于非活动状态

swift unwind-segue
1个回答
0
投票

您没有正确遵循教程说明。将

goBack
移动到 FirstScreen 中,一切都会好起来的。这种方法是一种 target 告诉 unwind segue 去哪里“返回”to。 (它的实现不需要任何内容;它只需要出现在所需的目的地。)

© www.soinside.com 2019 - 2024. All rights reserved.