私はUIScrollViewに入れているかなり大きな(スクリーンエステート内の)UIControlを持っています。UIControl であるため、すべてのタッチをハイジャックし、コントロール内から開始されるドラッグは UIScrollView に反映されません。
このコントロールは UIControlEventTouchUpInside のみを必要とするため、そのイベントを「のみ」リッスンする方法はありますか?
私の最初の本能は、hitTest:withEvent: をオーバーライドし、ドラッグが検出された場合にスーパービューを返すことでしたが、それはコントロール イベントのタイプに関する情報を提供しません。
私の最後の手段は、それを一般的な UIView にすることですが、可能であればその道をたどりたくありません。
編集:
申し訳ありませんが、わかりやすくするために、作業中の画面で他の機能をサポートするために、意図的に delaysContentTouches を NO に設定しています。意図しない副作用が Joel H の 2 番目のポイントになります。