カスタムスイッチがあります
UICustomSwtich
:UISlider
ここからダウンロード
使い方
UICustomSwitch
動作する必要があるため、このタッチ イベントを上書きして動作させます。
- (void)endTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event
- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
- (void)touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event
良いテスト
UICustomSwitch
UIView
でさえも完全に機能します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 ではないのはなぜですか?
前もって感謝します。