UIWebView を ScrollView に配置する理由があるかもしれませんが、UIWebView でスワイプとスクロールの両方をサポートすることはその 1 つではありません。UIWebView は、ページ上でのスクロールを単独で適切に処理します。それを所有するビュー コントローラーは、次の操作を行うことで、スワイプをサポートして別のコントローラーなどに変更できます。
1) WebView を所有する viewController で、UIGestureRecognizerDelegate メソッドを実装します。
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gr shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGr
{
return YES;
}
これにより、webViewController に実装するジェスチャ レコグナイザーが、UIWebView からジェスチャを取得することもできます。それ以外の場合、UIWebView はそれらすべてを消費し、それらをあなたに渡しません。
2) スワイプとページのスクロールを区別するため。UIWebView に追加する実際のジェスチャー レコグナイザーで、「スワイプ」と呼ばれるのに必要なタッチの数を 2 または 3 のように設定します。使用されています。次のようにします。
UISwipeGestureRecognizer *swipeGR;
swipeGR = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeLeft)] autorelease];
swipeGR.direction = UISwipeGestureRecognizerDirectionLeft;
swipeGR.delegate = self;
swipeGR.numberOfTouchesRequired = 2;
[myWebView addGestureRecognizer:swipeGR];