2013-12-09 4 views
5

にパニング:制限のUITableView私はメインのUIViewでサブビューとして2 UITableViews有するシナリオ有する1本の指

のUIView(フレーム=全画面)
+ ---のUITableView(フレーム=〜1/

私は画面全体の領域で3本の指がスワイプしていることを検出したいと思います(また、ユーザーがパンすることもできます)少なくとも1本の指でUITableを上下に表示)。

私はnumberOfTouchesRequired = 3でUIViewにUISwipeGestureRecognizerを添付しています。

私はこれらを試してみた:

  • は、両方のUITableViewsに両方の内部UIPanGestureRecognizersに1からmaximumNumberOfTouchesを設定します。私の理解のために、これはUITableViews上の2本と3本の指パンを防ぐべきですが、そうではありません。 (これらのUIPanGestureRecognizersでenabledをNOに設定した場合、タッチはスーパービューに正しく渡されますが、パン/スクロールは機能しません)。
  • をと一緒にUITableViewsに呼び出します。これは部分的に機能しますが、スワイプが完了せず、非常に不器用に感じるまでパンニングを待ちます。
  • shouldRecognizeSimultaneouslyWithGestureRecognizer:でUITableViewをオーバーライドしてYESを返すと、3本の指でスワイプを検出できます。しかし、パン/スクロールの下のUITableViewは意図せずにスクロールします。

それでは、どのように私は1(または2)へのタッチをパンの数を制限し、3本指UISwipeGestureRecognizerは3回の指のスワイプを認識させるのですか?

答えて

0

トップ(全画面)上canPreventGestureRecognizer:をオーバーライドしてみUIPanGestureRecognizer、2人のテーブルビュージェスチャ認識のそれぞれについてNOを返します。

私はまた、最上位のUIPanGestureRecognizerの場合にNOを返すために、2つのテーブルビューのジェスチャー認識器のそれぞれにcanBePreventedByGestureRecognizer:をオーバーライドしてみたいです。

私はかなり前に自分と同じ状況に遭遇しましたが、私はそれを修正した方法を思い出すことができませんでした(プロジェクトはずっと消えています)が、私は前述の方法で遊んで、働く

関連する問題