UIButton в UITableViewCell не вызывает действие - PullRequest
1 голос
/ 06 апреля 2011

У меня есть UIButton в UITableViewCell, который я хотел бы переключать его изображение, когда оно выбрано. Ниже мой код:

- (UITableViewCell *)tableView:(UITableView *)todoTable cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
static NSString *CellIdentifier = @"SimpleTableIdentifier";

UITableViewCell *cell = [self.todoTable dequeueReusableCellWithIdentifier:CellIdentifier];

if(!cell)
    cell = [self getCellContentView:CellIdentifier];


UIImageView *checkboxView = (UIImageView *)[cell viewWithTag:1];

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0.0, 0.0, 30.0, 30.0)];

UIImage *uncheckedButtonImage = [UIImage imageNamed:@"unchecked_checkbox.png"];
[button setImage:uncheckedButtonImage forState:UIControlStateNormal];

[button addTarget:self action: @selector(toggleImage:) forControlEvents: UIControlEventTouchUpInside];

[checkboxView addSubview:button];

} `

и мой метод toggleImage просто: - (void)toggleImage { NSLog(@"test"); }

Но всякий раз, когда я нажимаю на саму кнопку, строка ячейки вызывается по адресу didSelectRowAtIndexPath, который я не хочу, я хочу, чтобы кнопка вызывала метод toggleImage. Я неправильно настроил действие моей кнопки?

Спасибо.

Ответы [ 2 ]

1 голос
/ 06 апреля 2011

Измените это - (void)toggleImage { NSLog(@"test"); } на

- (void)toggleImage:(id)sender { NSLog(@"test"); } и посмотрите, работает ли он.

0 голосов
/ 06 апреля 2011

7KV7 правильно, вам нужно отправить объект кнопки в метод, чтобы изменить его изображение.

Посмотрите на эту тему

как выбрать конкретный флажок в табличном виде, который вставлен в ячейку таблицы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...