これについてどうすればよいですか?
私はUISwitchを持っています。ユーザーがスイッチをタップすると、驚くべきことが起こります!
ここで、ユーザーがスイッチをダブルタップすると、驚くべきクラッシュが発生します! 最初のタップはまだ素晴らしいことをしていたからです!
私がやろうとしているのはこれです、
ユーザータップ:
1 - toggleOvertimeSwitch が呼び出されます
2 -スイッチからターゲットを削除します(ダブルタップが発生した場合に呼び出されないようにするため)
3 -素晴らしいことをする
4 -ターゲットを再度追加
後でスイッチの位置に注意する必要があるいくつかの懸念がありますが、一見すると、これでうまくいくはずです。しかし、そうではありません。
ターゲットから自分自身を削除していますが、それでもすべてのタップに反応し続けます! 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];
}