[selectButton setImage:[UIImage imageNamed:@"003"] forState:UIControlStateNormal];//非选中状态时按钮的图片
[selectButton setImage:[UIImage imageNamed:@"004"] forState:UIControlStateSelected];//选中状态时按钮的图片
[selectButton addTarget:self action:@selector(selectButtonAction:) forControlEvents:UIControlEventTouchUpInside];//给按钮添加点击动作,在点击时进行的操作当中进行点击状态的更换以及记录当前的点击状态
cell.accessoryView = selectButton;//如果选择通用的那种方式(加载到contentView上面),那么通过(int)[_tableView indexPathForCell:cell].row获取到的row就一直都是0.所以我们一定要采用当前的这种方式添加按钮。
//实现selectButtonAction
- (void)selectButtonAction:(id)sender{
UIButton *button = (UIButton *)sender;
button.selected = !button.selected;
//下面的代码作用是:记录当前单元格中按钮的选中状态
UITableViewCell *cell = (UITableViewCell *)[button superview];
int row = (int)[_tableView indexPathForCell:cell].row;
if (row == 0) {
_isSelectedA = button.selected;}
if (row == 1) {
_isSelectedB = button.selected;}
if (row == 2) {
_isSelectedC = button.selected;}
}