ВОПРОСIOS: Изменение contentView BackgroundColor на приземление в пользовательских UITableViewCell
мне нужно изменить свойство BackgroundColor в contentView на событие приземление в пользовательской UITableViewCell. Я добавил UIButton в ячейку, но не могу понять, как заставить его перезагрузить ячейку и изменить содержимое contentView backgroundColor.
Что я пробовал:
добавить цель в UIButton в cellForRow: atIndexPath: как это:
[cell.touchButton addTarget:self action:@selector(touchButtonAtIndexPath:) forControlEvents:UIControlEventTouchDown];
Это мой метод, который должен перезагрузить ячейку, которая была выбрана :
-(void) touchButtonAtIndexPath:(NSIndexPath *)indexPath {
cellSelected = YES;
[self.tableView beginUpdates];
[self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];
}
Когда эта клетка перезагружается, это код, который должен изменить цвет фона в contentView в:
if (cellSelected) {
cell.contentView.backgroundColor = [UIColor blueColor];
}
Я получаю ошибку в моем touchButtonAtIndexPath: метод, это ошибка:
-[UIButton section]: unrecognized selector sent to instance
Каждый знает, как я могу обновить пользовательские UITableViewCell в contentView BackgroundColor на приземление? Благодаря!
Это похоже на то, что мне нужно, но я не понимаю, как метод buttonTouched: подключен к ячейке. Когда я использую этот код, я получаю довольно очевидную ошибку: свойство contentView не найдено на объекте типа ... –
вам нужно вызвать метод addTarget внутри ячейки, а метод buttonTouched также должен быть реализован внутри вашего пользовательского интерфейса tableview cell. – Istvan
У меня это уже есть, я получаю эту ошибку, потому что я передаю self.contentView, и это должно быть что-то вроде cell.contentView. Вы видите, что я говорю? –