我在滚动视图中以编程方式添加UISwitch。
UIVIew - > UIScrollView - > UISwitch
UISwitch *toggleSwitch = [[UISwitch alloc] initWithFrame: CGRectZero];
[toggleSwitch addTarget:self action:@selector(flipMode:) forControlEvents:UIControlEventValueChanged];
toggleSwitch.on = YES;
toggleSwitch.userInteractionEnabled = YES;
[scrollView addSubview: toggleSwitch];
行动方法:
- (IBAction)flipMode:(id)sender{
if([sender isOn])
{
// On Toggle ON
} else {
//On Toggle OFF
}
}
当我们多次切换开关或者在某个时间点拖动或将开关从ON缓慢移动到OFF状态或反之亦然时,操作不会被调用。在价值变化的下一刻,它将触发事件。
这个问题的发生是15-20次试验中的2次。无法找到它的根本原因。
帮助表示赞赏
答案 0 :(得分:0)
将滚动视图的delaysContentTouches
属性设置为NO
yourScrollView.delaysContentTouches = NO;
这将导致您切换到" get"相反,立即接触 比让他们先去UIScrollView。 查看this回答。
您的flipMethod:
应如下所示
-(void)flipMode:(id)sender
{
if([sender isOn])
[toggleSwitch setOn:YES animated:YES];
else
[toggleSwitch setOn:NO animated:YES];
}