UITableViewCell自定义按钮图像未在Swift 3中更新

时间:2017-05-24 10:44:02

标签: ios swift uitableview swift3 xcode8

我的单元格中有三个按钮链接,共享和收藏夹。我已在我的自定义单元格类中手动设置图像。在tableview委托的willDisplay方法中,我希望在用户点击它之后更新收藏夹图像。该服务在后端工作正常,并且正在从收藏夹中添加/删除对象,但图像未更新。我已经尝试设置背景图像而不是图像,并且还部署了为Objective-C规定的各种技术,但在我的情况下似乎没有任何锻炼。最初我在DealsFullTableViewCell中将图像设置为相同

这将显示我正在谈论的代码片段

if (self.dealArray[indexPath.row].imageUrl.characters.count > 0){
    let cell = tableView.dequeueReusableCell(withIdentifier: "DealsFullTableViewCell", for: indexPath) as! DealsFullTableViewCell

    if DataBaseReadServices().getFavourtiesforItemId(self.dealArray[indexPath.row].dealId) == nil {
        cell.favouritesButton.setImage(UIImage(named: "Favourites Blue Outline 20x20"), for: .selected)

    } else {
        cell.favouritesButton.setImage(UIImage(named: "Favourite Icon Blue 20x20"), for: .selected)
        print ("=============")
    }
}

我正在将DealsFullTableViewCell中的图像初始化为

let favouritesButtonImage = UIImage.fontAwesomeIcon(name: .starEmpty, textColor: Constants.AppColours().primaryColour, size: CGSize(width: 20, height: 20), backgroundColor: UIColor.clear)

self.favouritesButton.setImage(favouritesButtonImage, for: .normal)

1 个答案:

答案 0 :(得分:0)

请检查以下答案,如果不能正常工作请更换线程。

            if(DataBaseReadServices().getFavourtiesforItemId(self.dealArray[indexPath.row].dealId) == nil){

                cell.favouritesButton.setImage(UIImage(named: "Favourites Blue Outline 20x20"), for: .selected)

            } else {

                 cell.favouritesButton.setImage(UIImage(named: "Favourite Icon Blue 20x20"), for: .normal)
              print ("=============")
            }`

如果上面的代码不起作用,请更改主题。

DispatchQueue.main.async {
//your code
}

由于