2009-05-24 2 views
0

UIViewの上にUITextViewがあります。それらはPageScrollViewにあります。ユーザーは、UITextViewの外にスワイプして、次のページ(表示)にフリックすることができます。ユーザーにUITextViewをスワイプし、次のビューをフリックするようにしたいと思います。他のコントロールにスワイプイベントを与える

多くのテキストがある場合、UITextViewは垂直方向にスクロールし、ユーザーはスワイプして残りの部分を見ることができます。ページングスクロールを水平方向に表示します。 UIViewに水平スワイプを与えるには、UITextViewが必要です。どうやってやるの?

答えて

1

あなたがUITextViewをサブクラス化し、オーバーライドした場合、それのそれぞれがタッチイベントです:

  • touchesBegan:withEvent:
  • touchesMoved:withEvent:
  • touchesEnded:withEvent:
  • touchesCancelled:withEvent:

with this:

これにより、UITextViewとその親ビューの両方ですべてのタッチを処理できます。 UITextViewは排他的に垂直方向にスクロールし、UIScrollViewは排他的に水平方向にスクロールするので、これはうまくいきます。

+0

touchesBeganでは、なぜこの行[touch locationInView:self.view];このエラーは、 "メンバービューの要求は構造体または共用体ではありません"私はUITextViewから継承しています。 – 4thSpace

+0

スワイプが垂直かどうかを検出できない場合、スワイプをPageScrollViewに渡すタイミングをどのように知っていますか? – 4thSpace

+0

UITextViewはビューですが、1つも表示されません。ユーズはlocationInView:selfを使用します。スワイプが垂直か水平かを検出するために、あなたはする必要はありません。水平スワイプがUITextViewに影響を及ぼさず、垂直サイディングがPageScrollViewに影響を与えないので、両方のビューが両方のタイプのスワイプを処理できるようにしてください。 –

関連する問題