UISwitch操作在iOS 10中不起作用

我在桌子视图的一个单元格中有一个开关button。 以前在iOS 9中,一切正常,点击切换button后将转到操作方法。但更新到iOS 10后,操作方法永远不会被调用。 任何人都有类似的问题?

cell.m

-(id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (self) { // Initialization code UIImageView *bgView = [[UIImageView alloc] initWithFrame:CGRectZero]; [bgView setImage:[[UIImage imageNamed:@"customcell.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(10, 10, 10, 10)]]; [self setBackgroundView:bgView]; UIImageView *selectedBgView = [[UIImageView alloc] initWithFrame:CGRectZero]; [selectedBgView setImage:[[UIImage imageNamed:@"cellselect.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(10, 10, 10, 10)]]; [self setSelectedBackgroundView:selectedBgView]; nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 13, 250, 40)]; [nameLabel setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleRightMargin]; [nameLabel setFont:[UIFont boldSystemFontOfSize:16]]; [nameLabel setBackgroundColor:[UIColor clearColor]]; [nameLabel setTextColor:[UIColor whiteColor]]; [nameLabel setNumberOfLines:0]; [self.contentView addSubview:nameLabel]; switchButton = [[UISwitch alloc] initWithFrame: CGRectMake(230, 17, 100, 30)]; [switchButton setAutoresizingMask:UIViewAutoresizingFlexibleLeftMargin]; [switchButton addTarget:self action:@selector(switchActivated:) forControlEvents:UIControlEventTouchUpInside]; [switchButton setHidden:YES]; [self.contentView addSubview:switchButton]; } return self; } 

操作方法:

 - (void) switchActivated:(id)sender { if(switchButton.on) { [selectedItem setObject:@"YES" forKey:@"valueEntry"]; } else { [selectedItem setObject:@"NO" forKey:@"valueEntry"]; } } 

ViewController.m单元格的索引path行:

 - (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath UITableViewCell *tableViewCell = [aTableView dequeueReusableCellWithIdentifier:[NSString stringWithFormat:@"homeReportCustomizationCell_%d",indexPath.row]]; if(!tableViewCell) { tableViewCell = [[Cell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:[NSString stringWithFormat:@"Cell_%d",indexPath.row]]; } ........... } 

只需更改[switchButton addTarget:self action:@selector(switchActivated:) forControlEvents:UIControlEventTouchUpInside];

到: UIControlEventValueChanged

我有同样的问题!

我有UIScrollView内的UISwitch和UITextField。 我添加scrollView到我的self.view。

我使用运行iOS 10的iPad Protesting了这一点 – 在升级到最新版本的iOS之前,一切正常。 现在我的方法没有被调用!

希望我不必诉诸于程序化的解决scheme – 这将是一个无赖。