UITableViewCell нет userInteraction, но на cell.accessoryView - PullRequest
1 голос
/ 14 мая 2010

У меня есть TableViewCell с переключателем UIS в accessoryView. Я не хочу этот синий фон, если кто-то выбрал его. Поэтому я использовал

cell.userInteractionEnabled = NO;

но тогда вся ячейка недоступна, поэтому я попытался

cell.userInteractionEnabled = NO;
cell.accessoryView.userInteractionEnabled = YES;

Я думаю, что это не сработает, потому что ячейка является родителем accessoryView. но как я могу решить эту проблему? Намек в правильном направлении был бы великолепен.

Simon

Вот полный метод cellForRowAtIndexPath:

cell.textLabel.text = @"dasda";
cell.userInteractionEnabled = NO;
cell.accessoryType = UITableViewCellAccessoryNone;

UISwitch *mySwitch = [[[UISwitch alloc] initWithFrame:CGRectZero] autorelease];
mySwitch.tag = row;
[cell addSubview:mySwitch];
cell.accessoryView = mySwitch;
cell.accessoryView.userInteractionEnabled = YES;

[(UISwitch *)cell.accessoryView setOn: YES];
[(UISwitch *)cell.accessoryView addTarget:self action:@selector(someAction:) forControlEvents:UIControlEventValueChanged];

return cell;

1 Ответ

4 голосов
/ 14 мая 2010

Попробуйте это в вашем методе cellForRowAtIndexPath:

cell.selectionStyle = UITableViewCellSelectionStyleNone;

У вас также есть возможность использовать это в методе didSelectRowAtIndexPath:

[table deselectRowAtIndexPath:indexPath animated:NO];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...