Я хочу изменить фоновое изображение ячейки, когда ячейка выбрана.Как изменить фоновое изображение ячейки в didSelectRowAtIndexPath
Я попытался с этим синтаксисом:
- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath{
//for adding image
cell.ImgCateg.image=[UIImage imageNamed:[ImgArr objectAtIndex:indexPath.row]];
...
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
CRHomeCategCell *cell = (CRHomeCategCell*)[_tblCateg cellForRowAtIndexPath:indexPath];
cell.ImgCateg.image = [UIImage imageNamed:@"DefaultBg.png"];
}
это меняет изображение на переднем плане не в фоновом режиме.
Пожалуйста, помогите и благодарите заранее.
Вашего ответ работает хорошо, но этот метод вызывался много раз, если мы пишем в 'cellForAtIndexPath' и изображения получать переопределены. как вызвать этот метод только один раз? – Krunal
Это простой код для 'setSelectedBackgroundView' ячейки, вам нужно написать правильный код создания ячейки, например' yourcell * cell = [tableView dequeueReusableCellWithIdentifier: CellIdentifier]; если (ячейки == ноль) {// создаем новый} ' –
я это написал, но не помогает, ' CRHomeCategCell * ячейка = (CRHomeCategCell *) [_ tblCateg dequeueReusableCellWithIdentifier: CellIdentifier], если (ячейка == ноль) {NSArray * nib = [[NSBundle mainBundle] loadNibNamed: @ "CRHomeCategCell" владелец: self options: nil]; для (id oneObject in nib) если ([oneObject isKindOfClass: [CRHomeCategCell класс]]) cell = (CRHomeCategCell *) oneObject; [self setCellBGColorNormalAndSelectedForTableViewCell: cell cellForRowAtIndexPath: indexPath]; } cell.ImgCateg.image = [UIImage imageNamed: [ImgArr objectAtIndex: indexPath.row]]; return cell; ' – Krunal