1. ホーム
  2. objective-c

UIButtonのイベント。何が違うの?

2023-10-18 21:55:57

質問

ボタンから呼び出されたポップオーバーが表示されている間、ボタンが押されたままになってしまうという問題が発生しました。ポップオーバーはいくつかのフィルタのセレクタで、フィルタはボタン自体に表示されます。私がそれをタップしてポップオーバーを表示すると、何があっても非選択になります。

タッチイベント時の挙動を再定義して、標準ではなく touch up inside . それから、他のイベントは何を担っているのだろうかと考えた。しかし、iOSライブラリにはイベントのリストが見つからず、StackOverflowでは、以下のイベントの不正な動作に関する質問ばかりでした。 touch up inside または touch down .

では、タッチイベントの違いは何でしょうか?

  1. タッチ キャンセル - ボタンに触れた後、指を離すと、選択解除されたままになります。 選択解除されたままになりますか?
  2. touch down - タップの右側。
  3. touch down repeat ?
  4. touch drag enter ?
  5. タッチドラッグエグジット ?
  6. touch drag inside ?
  7. タッチドラッグアウトサイド?
  8. タッチアップインサイド - タップしてボタンを離すと、その範囲内に残ります。 をタップして離すと UIButtonsの状態をNormalに変更します。
  9. 外側をタッチアップする - ボタンをタップして離すと、その範囲から外れます。 をタップしたときです。

他のIBActionsは、UIButtonから送信されないのですね? また、これらのイベントはUIButtonの外観をどのように変更するのでしょうか?例えば highlighted または selected ?

IBActionsについての良い記事のリンクが見つからなかったので、感謝します。

どのように解決するのですか?

から に関する Apple のドキュメント UIControlEvents :

  1. UIControlEventTouchCancel

    コントロールの現在のタッチをキャンセルするシステムイベントです。

  2. UIControlEventTouchDown

    コントロールのタッチダウンイベントです。

  3. UIControlEventTouchDownRepeat

    コントロール内でタッチダウンが繰り返されるイベント。このイベントの場合、UITouch tapCountメソッドの値は1より大きくなります。

  4. UIControlEventTouchDragEnter

    指がコントロールの境界線にドラッグされたイベントです。

  5. UIControlEventTouchDragExit

    コントロール内からコントロールの外まで指がドラッグされるイベントです。

  6. UIControlEventTouchDragInside

    コントロールの境界内で指がドラッグされた場合のイベントです。

  7. UIControlEventTouchDragOutside

    コントロールの境界のすぐ外側で指がドラッグされた場合のイベントです。

  8. UIControlEventTouchUpInside

    コントロールのタッチアップイベントで、指がコントロールの境界の内側にある場合。

  9. UIControlEventTouchUpOutside

    コントロールのタッチアップイベントで、指がコントロールの境界外にある場合。