Если вы хотите изменить вспомогательный тип ячеек при нажатии кнопки, вам придется перезагрузить соответствующие строки. Создайте переменную экземпляра в вашем классе контроллера табличного представления для хранения активного типа аксессуара и проверьте его в вашем -tableView: cellForRowAtIndexPath: метод:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell;
// ...
[cell setAccessoryType:[self cellAccessoryType]];
return cell;
}
Затем установите действие кнопки «подправить изнутри» примерно так:
- (IBAction)changeAccessories:(UIButton *)sender
{
UITableViewCellAccessoryType accessoryType;
if (/*condition*/) {
accessoryType = UITableViewCellAccessoryTypeCheckmark;
} else {
accessoryType = UITableViewCellAccessoryTypeNone;
}
[self setCellAccessoryType:accessoryType];
[[self tableView] reloadData];
}
Вызов -reloadData
- довольно простой способ сделать что-то. Для более плавного решения, посмотрите -reloadRowsAtIndexPaths: withRowAnimation: .