如何在Swift中的表视图单元格中更改UIButton的颜色?

时间:2015-07-20 23:01:27

标签: swift uitableview uibutton uisearchbar tableviewcell

我有一个自定义的TableViewCell,它有一个产品名称,产品图片和按钮。在同一个TableViewController中,有一个搜索栏,它将根据名称提取特定产品。当我搜索时,我可以点击产品的按钮,我希望它能改变颜色,从绿色到红色,文字从"原始颜色改变"改变颜色"。这有效,直到我取消搜索,然后该按钮恢复为其原始形式。这是功能,如果您需要了解其他信息,请告诉我。提前谢谢。

  @IBAction func changeColorAction(sender: UIButton)
{

    sender.backgroundColor = UIColor.redColor()
    sender.setTitle("changed Color", forState: UIControlState.Normal)

}

这是我调用函数的地方:

   override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! CustomSearchCell

    var user : UserItem

    if(tableView == self.searchDisplayController?.searchResultsTableView)
    {
        user = self.filteredProducts[indexPath.row]
    }
    else
    {
        user = self.productsArray[indexPath.row]
    }

    cell.followButton.addTarget(self, action: "changeColorAction:", forControlEvents: .TouchUpInside)

    cell.configureCellWith(user)

    return cell
}

1 个答案:

答案 0 :(得分:0)

取消或续订搜索时,表格会从" filterdProducts"或者" productsArray"阵列。因此,当您在tableView函数中创建单元格时,您必须更改按钮的颜色,并且如果产品是"则遵循"或不。