• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

为什么故事板退出按钮中缺少IBAction方法?

IOS 来源:pyRabbit 3次浏览

我正试图执行一个unwind segue。我已经在一个全新的项目中测试了我的逻辑,并且能够验证模式。但是在我的实际工作项目中,相同的模式不起作用。为什么故事板退出按钮中缺少IBAction方法?

我试图从我的SettingsController放松到我的EditorViewController。但里面的EditorViewController没有出现在SettingsController的出口故事板按钮中。

EditorViewController.swift

class EditorViewController: UIViewController { 
    // Snippet 
    @IBAction func unwindToEditor(segue: UIStoryboardSegue) { 
     // Some logic 
    } 
} 

拖动并从一个控制器拖放SEGUE到另一个

Creating a Push Segue between controllers

尝试EditorViewController#unwindToEditor与SettingsController

As you can see the unwindToEditor method is missing

关联

unwindToEditor方法不可用。

事情我都试过,但并没有帮助:

  • 重新启动的Xcode
  • 从视图控制器删除自定义类,并重新加入
  • 删除Xcode的导出的数据
  • 创建自定义的OBJ-C头文件
  • 在我的展开动作上使用多个方法签名

注意:

我发现在控制器的“退出”按钮下的“呈现分段”中的可用IBA列表仅从我的一个控制器拉出。在多个控制器中填充此列表可能存在问题?

发现变通

看来,即使我的方法是从列表中缺少的,如果我去选择的方法之一是确实存在并手动更改方法开卷SEGUE的属性检查器中调用它会调用适当的(缺少的)方法。


===========解决方案如下:

你不需要一个unwind segue方法。

只要做到这一点:

  1. EditorViewController添加以下代码:从您的按钮

    @IBAction func unwindToEditorViewController(segue: UIStoryboardSegue) {} 
    
  2. SettingsController调速拖动到SettingsController退出图标,然后从列表中选择unwindoToEditorViewController

    enter image description here

瞧!


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)