0

タッチイベントの処理で問題が発生しています。これはおそらく通常の作成ではありませんが、可能だと思います。方法がわからない...

メインビュー(A)とメインビュー(B)があり、サブビュー1、2、3、4、5、...がたくさんあります。

MainView
 SubView(A)
   1
   2
   3
 SubView(B)
   1
   2
   3

これらのサブサブビュー(1、2、4)の一部はスクロールビューです。

たまたま2本指パンでAとBを切り替えたいと思います。

UIPanGestureRecognizerをMainViewにアタッチしようとしましたが、スクロールビューがタッチをキャンセルし、たまにしか機能しません。

最初にタッチをキャプチャし、それが2本の指のパンであるかどうかを検出してから、タッチを下向き(または上向き...わからない)のレスポンダーチェーンに渡すかどうかを決定するための一貫した方法が必要です。

それを処理するためにトップレベルのビューを作成しようとしましたが、そのビューにタッチが渡されるようにすることはできません。

私は同じような問題を抱えている多くの人々を見つけましたが、彼らの解決策からこの問題の解決策を見つけることができませんでした。

誰かが私に光を与えることができれば、私はすでにこれに必死なので、それは素晴らしいことです。

4

1 に答える 1

0

タッチとタッチの座標をキャプチャするトップ レベル ビューを作成し、タッチの座標がサブ ビュー内にあるかどうかを確認できます。を使用してそれを行うことができます

BOOL CGRectContainsPoint(CGRect rect, CGPoint point)

方法。Rect はビューのフレーム、point はタッチ ポイントです。

フレームとタッチ位置はそれらのスーパー ビューに関連しているので、アプリ ウィンドウの座標系に変換する必要があることに注意してください。

それとももっと役立つかもしれません

複数の UIView で同時にタッチ イベントを受信する

于 2012-05-25T15:57:08.697 に答える