【发布时间】:2015-09-11 21:30:57
【问题描述】:
如何在表格视图单元格的每个单元格上添加按钮,以便它知道来自哪个单元格。
示例:
数据有 2 个产品,即产品 A 和产品 B,然后我将它们存储在数组中,即 [产品]。在数组内部,有它们的详细信息,即名称和价格。所以,我已经成功地将这些变成了表格视图。 问题是如何在表格视图单元格中插入按钮?
示例:
当按下按钮时,它知道按下了哪一行,当按下第二行时将是产品B。 我是这里的新手。需要帮助,谢谢。
【问题讨论】:
标签: swift
如何在表格视图单元格的每个单元格上添加按钮,以便它知道来自哪个单元格。
示例:
数据有 2 个产品,即产品 A 和产品 B,然后我将它们存储在数组中,即 [产品]。在数组内部,有它们的详细信息,即名称和价格。所以,我已经成功地将这些变成了表格视图。 问题是如何在表格视图单元格中插入按钮?
示例:
当按下按钮时,它知道按下了哪一行,当按下第二行时将是产品B。 我是这里的新手。需要帮助,谢谢。
【问题讨论】:
标签: swift
你有两个选择:
选项一 - 简单、快速、糟糕:
创建UIButton 的实例,并将框架定位到您实际希望放置按钮的位置。添加tag 属性以及操作。每个按钮的操作都是相同的,您可以使用该标签来执行不同的操作。
选项二:
创建 UITableViewCell 的子类。在那里添加你想要的所有元素。为按钮创建操作,您可以设置目标UITableViewCell 或UITableViewController。如果您选择UITableViewCell 作为目标,则必须实现委托,在UITableViewController 中面对该委托并在那里实现该委托功能。如果您选择控制器作为目标,则必须将其发送到单元格。您还必须设置标签。
我会使用选项二,因为它是可扩展的、易于维护的,并且您可以看到单元格。添加更多组件也更容易。
【讨论】:
我不认为您需要在UITableViewCell 中放置按钮或任何其他控件来识别选定的单元格。
您需要做的就是在您已经实现UITableView的类中实现以下委托方法
tableView(_:willSelectRowAtIndexPath:)
tableView(_:didSelectRowAtIndexPath:)
这些方法会让你知道选中的UITableViewCellindexPath,你可以做你想做的选择。
注意:不要忘记将您的 UIViewController 设置为 delegate 到 UITableView(几乎就像您在 DataSource 的情况下所做的一样)。
这是您可以参考的Github repo,但代码状态不佳。
【讨论】: