这是我当前的问题。
我想放松到以前的 View Controller ,我们将其称为 viewcontroller1。 这工作正常,除了按钮操作 与segue相连,里面还写了很多其他代码。然而,当按下按钮时,xcode 会忽略已经编写的代码。
所以这是我的问题如何让按钮执行编写的代码然后进行转场?
对于展开转场,我在 ViewController1 中创建了一个空操作。
@IBAction func unwindtoViewcontroller1(segue: UIStoryboardSegue){}
并将 ViewController2 与此 segue 操作 Hook (使用 ViewController2:s 退出按钮)。 我还将 Segue 设置为“revealviewcontrollerpushviewcontroller”
提前感谢您为我提供的所有帮助,我真的陷入困境。
最诚挚的问候阿尔宾
最佳答案
您应该能够这样做:
打开 Assistant Editor,然后从在 ViewController 2 中执行展开转场的按钮控制拖动以创建 IBAction。这是您希望按钮执行的操作的所有代码都应该存放的位置。
此操作在调用 unwind segue 函数之前执行。
因此,您的按钮将同时执行以下操作:操作和放松。
我做了一个简单的项目来说明并将输出打印到控制台。 YellowVC 中的按钮在展开之前执行一个操作。
正如您所说,在第一个 ViewController 中(在我的示例中是绿色的 ViewController,您有一个用于展开转场的 IBAction
@IBAction func goBackToGreenVC(segue: UIStoryboardSegue) {
print("go back")
}
然后在第二个 ViewController(在我的例子中是黄色的)中,控制从按钮拖动到退出以设置展开转场,然后还控制从按钮拖动到 IBAction 的助理编辑器,如下所示:
@IBAction func goBackToGreenVCButtonTapped(_ sender: UIButton) {
print("performing an action before unwind")
}
关于swift - 当连接到前一个 View Controller 时,按钮会忽略操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42539969/