ボタンから呼び出されたポップオーバーが表示されている間、ボタンが「押し下げられた」ままであるという問題が発生しました。ポップオーバーは一部のフィルターのセレクターであり、フィルターはボタン自体に表示されます。それをタップすると、ポップオーバーが表示されますが、それは何であれ選択解除されます。
タッチイベントでの動作を再定義し、標準に応答しないようにする必要があると思いますtouch up inside
。それから私は他のイベントが何に責任があるのか疑問に思いましたか?しかし、iOSライブラリにイベントリストが見つかりませんでした。StackOverflowには、touch up inside
またはtouch down
。
それでは、タッチイベント間の違いは何ですか?
他のIBActionsはUIButtonによって送信されませんよね?また、これらのイベントはUIButtonの外観をどのように変更しますか? highlighted
またはselected
が好きですか?
私はそれを見つけることができなかったので、IBActionsに関する良い記事へのリンクをいただければ幸いです。
UIControlEvents
のAppleのドキュメント から:
UIControlEventTouchCancel
コントロールの現在のタッチをキャンセルするシステムイベント。
UIControlEventTouchDown
コントロール内のタッチダウンイベント。
UIControlEventTouchDownRepeat
コントロールで繰り返されるタッチダウンイベント。このイベントでは、UITouchのtapCountメソッドの値は1より大きいです。
UIControlEventTouchDragEnter
指がコントロールの境界内にドラッグされるイベント。
UIControlEventTouchDragExit
コントロール内から境界の外側に指をドラッグするイベント。
UIControlEventTouchDragInside
コントロールの境界内で指がドラッグされるイベント。
UIControlEventTouchDragOutside
コントロールの境界のすぐ外側に指がドラッグされるイベント。
UIControlEventTouchUpInside
指がコントロールの境界内にあるコントロールのタッチアップイベント。
UIControlEventTouchUpOutside
指がコントロールの境界外にあるコントロールのタッチアップイベント。
通常のボタンの一般的な使用/発生の可能性の順序で、私が考えるものにリストされています:
UIControlEventTouchDown:ユーザーがボタンをタップしました。これにより、指/スタイラスが接触します。
UIControlEventTouchUpInside:ユーザーがボタンをタップしました。これは、画面から引き戻された指/スタイラスの接触で発生します。
コンポーネントの移動など、スライダーやドラッグイベントに便利です。以下は、発生順です。
UIControlEventTouchDragInside:指がボタン領域にドラッグされるとトリガーされます。
UIControlEventTouchDragExit:ドラッグモーション中にトリガーされます。ユーザーの指/スタイラスがボタンの境界を離れるので、一度だけ呼び出されます。
UIControlEventTouchDragOutside:ドラッグモーション中に、 'UIControlEventTouchDragExit'の後、が連続して呼び出されます、元のタッチが続く限り。
UIControlEventTouchUpOutside:これは、指/スタイラスがボタンの境界内になくなった場合にのみ持ち上げられる指/スタイラスです。呼び出すべき重要なことは(おそらくおそらく)タッチは、このイベントをボタンに関連付けるために、ある時点でボタン内になければならなかったことです。
注:私の理解では、上記は以下に役立つ可能性があるということです。
その他のイベント:
UIControlEventTouchCancel:ユーザーの制御外の何かがタッチ操作をキャンセルしています。これは、物事の電話側で何かが「うまくいかない」と考えてください。
UIControlEventTouchDownRepeat:ユーザーが怒ってボタンを猛烈にタップしていることを検出したいですか?まだWindowsモードで「ダブルクリック」しようとしているかどうかを検出したいですか?または、ボタンを2回タップすると異なる動作をするボタンを設計したかもしれません。このイベントはそれらすべてに役立ちます!
参照:
SO 1 :UIControlEventTouchDragOutsideとUIControlEventTouchDragExitの違い
SO 2 :UIControlEventTouchCancelとは何ですか?