iOS7 UISwitchのイベントValueChanged:連続して呼び出すのはバグか何か?
Edit
tag:ios7.1]では修正されました。 この問題を解決するためには、何も調整しないでください。
Edit2
どうやらiOS8.0や8.1でも同じ問題が再発するようです
編集3
tag:ios9.2]では修正されています。
Edit3 [tag:ios9.2]で直りました。
今日、UISwitch
のイベントValueChanged:
が継続的に
呼ばれていて、On
からOff
またはOff
からOn
に変更している間に、指が右にも左にも動いているのを見ました。NSLogでもっとわかりやすくするためにGIF画像を添付します。
私の価値観の変化の方法は
- (IBAction)changeSwitch:(id)sender{
if([sender isOn]){
NSLog(@"Switch is ON");
} else{
NSLog(@"Switch is OFF");
}
}
iOS6では、同じコードのSwitchが期待通りに動作しています。
どなたか、一度だけ呼び出して、その状態をオンまたはオフにする方法を教えてください。
**更新しました。
これが私のデモです。
93
3
以下のコードをご覧ください。
同じ問題に直面している多くのユーザーがいるので、これは「UISwitch」のバグかもしれませんが、その一時的な解決策を今見つけました。1つの
gitHub
カスタムKLSwitch
を見つけたので、今のところこれを使用しています。https://github.com/KieranLafferty/KLSwitch
スイッチの値の変化に即座に反応する必要がない場合は、次のような方法が考えられます。