1

私のiPadアプリには、複数のUIWebViewを含むUIScrollView(水平スライダー-画像カルーセルに似ています)があり、それぞれが画面全体を占めています。各 webview には、上部にヘッドバーがあり、必要に応じてバーの後ろにスクロールする必要がある垂直方向にスクロール可能なコンテンツがあります。これは、head-bar の position:fixed を使用して html および css で行われます。

iOS5 では正常に動作しますが、iOS4 では失敗します。これは既知の問題であり、この問題に対する JavaScript ソリューションがいくつかあります。たとえば、Web サイトの doctyper、iScroll4、または touch-scroll (iScroll に基づく) などです。

これらのソリューションは、垂直スクロールに関してうまく機能します。私の問題は、垂直方向にスクロール可能な div コンテナー内でスワイプ ジェスチャを開始する限り、(UIWebView から UIWebView に) 水平方向にスワイプできないことです (これは、ほぼ画面全体を占めます - 両側のいくつかのピクセルを除く)。JavaScript ソリューションは、UIScrollView からの水平スワイプのジェスチャ認識を妨げているようです。

解決策がobjective-c側にあるのか、javascriptまたはhtml側にあるのかさえわかりません。どんな助けでも大歓迎です。正しい方向へのヒントに過ぎないとしても。ありがとうございました。

4

1 に答える 1

0

ここで私の質問に対する答えを見つけました。60iscroll-lite.js行目のコメントを外す必要があります.225行目で

timestamp = e.timeStamp || Date.now(); 

行を追加する必要があります

if (Math.sqrt(deltaY * deltaY) > 3) {
    e.preventDefault();
}

これで、iscroll のスクロール補助を垂直方向に使用し、iOS スクロールを水平方向に使用できるようになりました。

于 2012-01-10T05:17:27.933 に答える