0

2 つの個別の UIwebview に gmail と yahoo をロードし、これら 2 つのビュー間でパン/スワイプしたいと考えています。ただし、Gmail と Yahoo は独自の機能を実行するためにブラウザ内でスワイプ ジェスチャを処理するため、スクロール/パンは機能しません。Gmailのスワイプのように「アーカイブ」がアクションです。yahooならスワイプで「削除」「お気に入りに入れる」などの機能が表示されます。私は成功することができます

メイン コントローラーがスワイプ イベントを受信できるかどうか教えてください。これにより、これら 2 つの Web ビュー間でスワイプ/パン/スクロールできるようになります。また、私のアプリは App Store のガイドラインをサポートする必要があります。

よろしく、 プラサド

4

2 に答える 2

1

この状況では、次の解決策が機能します。
1. UIView
を取得します 2. 小さい Webview をサブビューとして UIview に
追加します 3. スワイプ ジェスチャ Recognizer を UIView に追加します。
ビュー エリアをパンすると問題が解決し、AppStore ガイドラインもサポートされます。

スワイプ/パンする矢印を示す画像を配置できます。

于 2013-09-10T05:51:39.010 に答える
0

メイン コントローラー内でスワイプ ジェスチャを受け取り、必要に応じて javasacript を介して uiwebviews に渡すことができます。以下に例を示します。

    UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self  action:@selector(swipeRightAction:)];
    swipeRight.direction = UISwipeGestureRecognizerDirectionRight;
    swipeRight.delegate = self;

    swipeRight.numberOfTouchesRequired = 1;
    swipeRight.direction = UISwipeGestureRecognizerDirectionRight;
    swipeRight.delaysTouchesBegan = YES;
    [webView addGestureRecognizer:swipeRight];

それで...

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

- (void)swipeRightAction:(id)ignored
{

    // Send javascript into web view
[self.webView stringByEvaluatingJavaScriptFromString:@"alert('Swipe right');"];


    //[webView goBack]; // or just navigate back in web view
}
于 2014-01-14T18:05:28.340 に答える