按钮在忽略前一个viewcontroller时忽略动作

时间:2017-03-01 19:06:19

标签: swift xcode swift3 xcode7 unwind-segue

所以这是我目前的问题。

我想放松到以前的viewcontroller让我们称之为viewcontroller1。 这个工作正常,除了按钮动作  与segue挂钩,还有很多其他代码写在其中。但是,当按下按钮时,xcode会忽略已经编写的代码。

所以这是我的问题,我如何让按钮执行编写的代码,然后使用segue ??

对于unwind segue,我在ViewController1中创建了一个空操作。

  @IBAction func unwindtoViewcontroller1(segue: UIStoryboardSegue){}

使用此segue操作(使用ViewController2:s退出按钮)将ViewController2挂钩。 我还将segue设置为" revealviewcontrollerpushviewcontroller"

提前感谢我能得到的所有帮助我真的被卡住了。

最好的问候阿尔宾

1 个答案:

答案 0 :(得分:0)

你应该能够这样做:
打开助手编辑器,然后控制从ViewController 2中执行展开segue的按钮拖动以创建IBAction。这就是你想要按钮做的动作的所有代码应该去的地方 在调用unwind segue函数之前执行此操作 因此,您的按钮将同时执行:动作和放松 我做了一个简单的项目来说明并将输出打印到控制台。 yellowVC中的按钮在展开前执行操作 正如你所说,在第一个ViewController中(在我的例子中,绿色的那个你有一个用于展开segue的IBAction

@IBAction func goBackToGreenVC(segue: UIStoryboardSegue) {  
      print("go back")
}  

然后在第二个ViewController中(在我的例子中是黄色的),控制从按钮拖动到退出以设置展开segue,然后控制从按钮拖动到助手编辑器以进行IBAction,如:

@IBAction func goBackToGreenVCButtonTapped(_ sender: UIButton) {  
     print("performing an action before unwind")  
} 

storyboard enter image description here