カスタムスイッチがあります
UICustomSwtich:UISlider
ここからダウンロード
使い方
UICustomSwitch動作する必要があるため、このタッチ イベントを上書きして動作させます。
- (void)endTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event
- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
- (void)touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event
良いテスト
UICustomSwitchUIViewでさえも完全に機能しますUIScrollView。3 つのタッチ イベントは、呼び出す必要があるときに適切に呼び出されます。
悪い作品
これが私の問題です。UITableViewこの階層を持つ StoryBoard から設計されたスタティックがあります。
UITableView> UITableViewCell> UIView>UICustomSwitch
このシナリオでは:
- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
この関数は適切に呼び出されます
- (void)touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event
- (void)endTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event
親指をバーの長さよりも短く動かすと、親指はそのままの位置に残ります (問題)。
親指を左右に動かす (バーの端を上げる) と、2 つのメソッドが呼び出されます (非常に奇妙な動作ですね)。
さまざまな解決策で同様の問題を見つける答えを探しましたが、私の問題には適しています。
タッチイベントが届くときUICustomSwitchと届かないときがあるのはなぜですか? そして、ended と trackingWithTouch のイベントがあるのに、begined ではないのはなぜですか?
前もって感謝します。