如何在按钮上单击自定义单元格获取单元格对象?

时间:2017-09-21 17:41:34

标签: ios swift uitableview

我创建了一个自定义单元格,其中有一个按钮。我想在按钮点击上更改单元格的颜色(不在didSelect行上)。我在cellforrow方法中给了按钮标签并调用了选择器方法。

 btnCell.tag = indexPath.row
 btnCell.addTarget(self, action: #selector(buttonClicked( sender:)),for: .touchUpInside)


func buttonClicked(sender:UIButton) {
//how can i change cell color on button this click
}

如何在按钮操作中创建单元格对象并更改单元格颜色? 客观回答c也欢迎。

2 个答案:

答案 0 :(得分:0)

您可以为按钮创建一个自定义对象,您可以使用该属性存储按钮所在单元格的索引。

以下是步骤:

  • 为按钮设置自定义对象。
  • 添加var以存储单元格的IndexPath。
  • 在func中,CellForRowAtIndexPath将每个单元格的索引路径设置为其按钮。
  • 点击按钮时,检查其中的索引路径,并使用您的表格视图和此索引获取单元格。
  • 更改单元格的颜色

那就可以胜任。

答案 1 :(得分:0)

这个答案很快2.2。我已经这样做了,对我来说工作正常,我认为这应该适合你:

func buttonClicked(sender:UIButton) {
    {
        let indexPath = NSIndexPath(forRow: sender.tag, inSection: 0)
        let cell = self.tableView.cellForRowAtIndexPath(indexPath)
        cell?.backgroundColor = UIColor.redColor()
    }