0

5 つの UIWebView のセットでローカルの html5 コンテンツを表示しようとしています。アイデアは、ユーザーがスワイプして 4 方向に移動するため、バウンスが無効になっている 5 つの UIWebView を取得したことです。

leftWebView.scrollView.bounces = NO;
middleWebView.scrollView.bounces = NO;
rightWebView.scrollView.bounces = NO;
upWebView.scrollView.bounces = NO;
downWebView.scrollView.bounces = NO;

表示される html ページは iPad の画面よりも小さいため、Web ビューではスクロールできないと想定します。

これらの Web ビューは、中心をスムーズに移動するだけでトランジションがアニメーション化されるように読み込まれます。

では、UIWebView でジェスチャ レコグナイザーによって実行されるスワイプ アクションを変更する方法はありますか?

4 つの SwipeGesturesRecognizers (方向ごとに 1 つ) を webViews に直接配置しようとしましたが、参照を次のように交換すると、何らかの理由でジェスチャ認識エンジンが WebViews の追跡を失います:

UIWebView *tmp = leftWebView;
leftWebView = middleWebView;
middleWebView = rightWebView;
rightWebView = tmp;

ウィンドウ上部の UIView で 4 つの SwipeGesturesRecognizers (方向ごとに 1 つ) を使用しようとしましたが、このビューによってタップがブロックされたため、ユーザーはクリック可能な要素を操作できなくなりました。

4

1 に答える 1

1

あなたはあなたのwebViewにカスタムUISwipeGestureRecognizerを追加することができます..そしてこのようにwebViewのスクロールを無効にすることができます

UIScrollView *scroll = [[self.webView subviews] lastObject];

if([scroll isKindOfClass:[UIScrollView class]])
{
    scroll = (UIScrollView*)scroll;
    [scroll setScrollEnabled:NO];
}
于 2012-05-16T13:23:34.030 に答える