从 UITableViewController 中的按钮创建操作

Posted

技术标签:

【中文标题】从 UITableViewController 中的按钮创建操作【英文标题】:Create actions from buttons in UITableViewController 【发布时间】:2016-03-06 17:14:28 【问题描述】:

我想为我存储在 UITableViewController 中的按钮创建一个动作,我已经有了该动作的代码,但我不确定如何实现这一点?

我尝试按 ctrl 拖动到 ViewController.swift 文件,但它不允许我创建任何操作或插座。这可能是因为它不在同一个类中,但是当我尝试将其类更改为该类时,它也不允许我这样做。

我能看到的更新:

【问题讨论】:

【参考方案1】:

如果它是一个静态 tableView,您应该能够在控制器类上创建一个带有前缀 @IBAction func 的方法,并能够通过访问 Interface Builder 中控制器的出口和操作窗格将其连接到按钮。

我做了一个快速的项目并拍了一张照片,这样你就可以看到我在说什么

如果它是一个动态表格,那么您可能会构建自定义 tableView 单元格并负责那里的显示。要使动作正常运行,您可以在单元格上使用委托并在按下时调用委托方法

【讨论】:

它不会让我将动作连接到按钮:(这仍然是问题 @JamesPatterson 添加了一张照片来帮助解释。如果它不允许你这样做,那么可能会发生其他事情 嗯,我没有收到的操作部分。我用一张图片更新了我的问题,以显示我的屏幕是什么样的 您必须创建带有前缀@IBAction 的方法,并确保该类已链接到接口构建器文件 如何确保它链接到界面构建器文件?感谢您的回复【参考方案2】:

首先,您需要一个 UITableViewController 类型的 Controller.swift 文件,该文件将分配给您的 UITableViewController 故事板元素(您的表格)。

class Controller: UITableViewController 

    @IBAction func tapTheButton(sender: AnyObject) 

    


将“tapTheButton”函数分配给按钮的“Touch Up Inside”发送事件。

【讨论】:

所以我只需使用您列出的代码创建一个新的 swift 文件,然后在其中插入按钮的操作? 试图这样做,它允许我创建动作就好了,但是当我尝试按下按钮时应用程序崩溃。它也没有给我一个错误行:( 是的,创建一个新的 .swift 文件子类 UITableViewController 并将该文件分配给位于故事板中的 UITableViewController。 是的,我这样做了,但仍然没有运气,当我按下按钮时应用程序崩溃了。你知道为什么会这样吗? 这是另一个问题。请添加一个“NSLog(“test”);”在该函数中查看该函数是否已执行。

以上是关于从 UITableViewController 中的按钮创建操作的主要内容,如果未能解决你的问题,请参考以下文章

如何从另一个 ViewController 中选择 UITableViewController 行?

从 UITableViewController 继承的控制器中的自定义 uitableViewCell

如何从 UITableViewController 中的静态单元格获取 textFields?迅速

尝试从 UITableViewController 文本框将数据保存在核心数据中

从 URL 字符串中提取的 UITableViewController 中的图像加载缓慢

从 UIViewController 转到 UITableViewController