2016-08-18 2 views
-1

UISwitch値が変更される前に、ほとんど条件を確認したかっただけです。条件が満たされている場合は、変更を許可するだけです。 ドキュメントでは、valueChangedイベントのみが使用可能です。値が変更された後に呼び出されます。値が変更される前のSwift UISwitchイベント

他の代替手段はありますか?

答えて

0

あなたは、少なくとも2つの選択肢があります。スイッチがトグルし、それを無効にすることになる前に

  1. は、いくつかの点でチェックしてください。
  2. スイッチをトグルして、処理を進める前にvalueChangedメソッドでチェックを実行してください。条件が満たされていない場合は、setOn()メソッドを使用してUISwitchを以前の状態にリセットします。
+0

アニメーションが以前の状態に設定される前に発生するため、2番目の選択肢はうまくいきません。それで状態が変わり、それがうまく設計されていないことが示されます。どのアイデアをスイッチの直前にチェックするかをトグルする必要がありますか? – Andrej

+0

はい、 'setOn()'で元の状態に戻そうとしましたが、setOn()で設定したときにvalueChangedイベントが呼び出されませんでした。 – Steve

+0

それは、その場合はスイッチが押されたときに反応しないように見えるので、アニメーションは表示されません。 – xoudini

関連する問題