У меня одна ячейка табличного представления с одной кнопкой.При нажатии на кнопку ячейки, которая имеет один метод, чтобы проверить, если тег кнопки if равен indexPath.row
.Тогда я пытаюсь изменить изображение.Но он не отображается.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:
(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"FilterTableViewCell";
FilterTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell.cellBtn.tag = indexPath.row;
cell.radioImage.tag = indexPath.row;
[cell.cellBtn addTarget:self action:@selector(ButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
return cell;
}
-(void)ButtonClicked:(UIButton*)sender
{
int rowNum = [(UIButton*)sender tag];
NSIndexPath* indexPath = [NSIndexPath indexPathForRow:_currentSelectedIndex inSection:0];
FilterTableViewCell *cell = [_tableView cellForRowAtIndexPath:indexPath];
if (sender.tag == rowNum) {
cell.radioImage.image = [UIImage imageNamed:@"selected.png"];
} else {
cell.radioImage.image = [UIImage imageNamed:@"unselected.png"];
}
}
Здесь изображение кнопки не меняется.Что мне нужно, так это то, что когда я щелкаю по какой-либо ячейке, изображение конкретной ячейки должно меняться, а в других ячейках должно отображаться невыбранное изображение.И когда я нажимаю на любую ячейку, изображение которой изменяется как выбранное изображение.Мне нужно получить конкретные значения ячеек, такие как имя текстовой метки, имя подтекстовой метки.
Как мне этого добиться.В чем здесь проблема?
Обновлено:
-(void)ButtonClicked:(UIButton*)sender
{
int rowNum = [(UIButton*)sender tag];
FilterTableViewCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:rowNum inSection:0]];
if (sender.tag != _currentSelectedIndex) {
cell.radioImage.image = [UIImage imageNamed:@"selected.png"];
} else {
cell.radioImage.image = [UIImage imageNamed:@"unselected.png"];
}
}