2015-07-20 110 views
0

我有一個具有產品名稱,產品圖像和按鈕的自定義TableViewCell。在同一個TableViewController中,有一個搜索欄會根據名稱提取特定的產品。當我搜索時,我可以點擊產品的按鈕,我希望它可以改變顏色,從綠色變爲紅色,文本從「原始顏色」改變爲「改變顏色」。這工作,直到我取消搜索,然後按鈕恢復到其原始形式。這是功能,如果你需要知道其他的東西讓我知道。提前致謝。如何更改Swift中表格視圖單元格中UIButton的顏色?

@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 
} 

回答

0

當搜索被取消或續期,該表從「filterdProducts」或「productsArray」陣列重建本身。所以當你在tableView函數中創建單元格時,你必須改變按鈕的顏色,並在產品被「遵循」或沒有被使用時存儲信息。

相關問題