【发布时间】:2015-10-13 05:44:34
【问题描述】:
我正在以编程方式在滚动视图中添加 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 次出现此问题。无法找到它的根本原因。
帮助赞赏
【问题讨论】:
-
你在执行
[switchName setOn:YES animated:YES]; -
是的,默认值就在那里..
-
粘贴'flipMode'方法的代码
-
尝试在方法返回类型中使用
void而不是IBAction -
发生率为 15 次中有 2 次。发生是工作还是不工作?
标签: ios objective-c uiscrollview uiswitch