1
我有一个按钮的costoum单元格。我想在按下按钮时可以更改按钮的图像。我正在尝试这个,但我没有得到所需的结果。按钮自定义单元格
BOOL isTheObjectThere = [self.favoriteArry containsObject:self.tableData[indexPath.row]];
if (isTheObjectThere==TRUE) {
cell.favBtn.hidden = NO;
[cell.favBtn setImage:[UIImage imageNamed:@"fav_selected.png"] forState:UIControlStateNormal];
cell.favBtn.tag = indexPath.row;
[cell.favBtn addTarget:self action:@selector(favoriteBtn:) forControlEvents:UIControlEventTouchUpInside];}
else {
cell.favBtn.hidden = NO;
[cell.favBtn setImage:[UIImage imageNamed:@"[email protected]"] forState:UIControlStateNormal];
cell.favBtn.tag = indexPath.row;
[cell.favBtn addTarget:self action:@selector(unfavoriteBtn:) forControlEvents:UIControlEventTouchUpInside];
}
和:
-(void)favoriteBtn:(UIButton*)sender
{
if ([cell.favBtn.currentImage isEqual:[UIImage imageNamed:@"fav_selected.png"]]){
[cell.favBtn setImage:[UIImage imageNamed:@"[email protected]"] forState:UIControlStateNormal];
}
else if ([cell.favBtn.currentImage isEqual:[UIImage imageNamed:@"[email protected]"]]){
[cell.favBtn setImage:[UIImage imageNamed:@"fav_selected.png"] forState:UIControlStateNormal];
}
你应该能够轻松地与调试器来解决这个问题。我的直觉是你不能像你使用的那样使用'isEqual'。最好将图像的副本保留为本地属性,然后您可以比较指针。 –
理念是图像正在改变,但不在正确的单元格中。 –