我该怎么办?
我有一个 UISwitch。当用户点击开关时,惊人的事情发生了!
现在,如果用户双击开关,我就有了惊人的崩溃!因为第一个水龙头还在做着惊人的事情!
我想做的是这个,
用户水龙头:
1 -调用 toggleOvertimeSwitch
2 -从开关中移除目标(为了避免在发生双击时被调用)
3 -做令人惊奇的事情
4 -再次添加目标
尽管稍后需要注意 Switch 的位置,但乍一看,这应该可行。但事实并非如此。
我正在删除自己作为目标,但它仍然会不断响应所有的点击!toggleOvertimeSwith 总是被调用。我不明白为什么。
任何人都可以帮我解决这个问题吗?
谢谢!
努诺
代码:
我的 viewDidLoad 实现了这个,
[self.toggleSwitch addTarget:self
action:@selector(toggleOvertimeSwitch:)
forControlEvents:UIControlEventValueChanged];
我的 toggleOvertimeSwitch 实现了这个,
-(void)toggleOvertimeSwitch:(UISwitch *)sender
{
[self.toggleSwitch removeTarget:self
action:@selector(toggleOvertimeSwitch:)
forControlEvents:UIControlEventValueChanged];
// Do something amazing here
[self.toggleSwitch addTarget:self
action:@selector(toggleOvertimeSwitch:)
forControlEvents:UIControlEventValueChanged];
}