2009-08-06 12 views
0

合計nooobはここにあります。私はスワイプで UIWebviewから別のUIWebviewへの切り替えを実装する方法を理解しようとしていますが、各Webviewでスクロール/ズームできるようになっています。UIWebviewは別のUIWebiewにスワイプ

スワイプが検出され、ビュー/コンテンツの境界が画面の対応するエッジにある(ページングスクロールビューのような)場合を除き、各Webviewはすべてのタッチ/ジェスチャーに正常に応答するはずです。

私のコンテンツは、データオブジェクトのHTML文字列です。

ヒントをいただければ幸いです。ありがとう。

+0

を、この質問に私の答えをチェックしhttp://stackoverflow.com/questions/1242197/i-want-to-implement-the-flip-touch -event-in-iphoneはスワイプを検出する方法を示しています – Daniel

答えて

2

UIScrollviewにUIWebviewを配置するのは、iPhone 3.0でもうまくいきます - 「Doh !!!

+0

アップルはタッチイベントがスクロールビューとウェブビューの間で混乱する可能性があるので、これに対してはAppleが推奨しています。あなたのマイレージは異なる場合があります。 – zekel

1

UIWebViewをScrollViewに配置する理由があるかもしれませんが、UIWebViewの両方のスワイプとスクロールをサポートする理由はありません。 UIWebViewはページ上でスクロールするだけで十分です。それを所有するビューコントローラは、スワイプを使って次のように別のコントローラのようなものに変更できます。

1)WebView実装を所有するviewController UIGestureRecognizerDelegate方法は:

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gr shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGr 
{ 
    return YES; 
} 

これは、あなたのwebViewControllerに実装ジェスチャー認識ものUIWebViewからジェスチャーを取得することができます。それ以外の場合、UIWebViewはそれらのすべてを消費し、それらを渡すことはありません。

2)スワイプとページをスクロールすることの区別。 UIWebViewに追加している実際のジェスチャーレコグナイザでは、2または3のようなものに「スワイプ」と呼ばれるタッチ数を設定します。これにより、ページ上で1本のスクロールが可能になり、2本または3本の指使用されています。それをこのような何か:のUIWebViewのタッチを扱うことができる場合は、

UISwipeGestureRecognizer *swipeGR; 
swipeGR = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeLeft)] autorelease]; 
swipeGR.direction = UISwipeGestureRecognizerDirectionLeft; 
swipeGR.delegate = self; 
swipeGR.numberOfTouchesRequired = 2; 
[myWebView addGestureRecognizer:swipeGR]; 
関連する問題