2016-02-02 4 views
12

私はテスト目的のためのWebページ(https://storage.googleapis.com/htmltestingbucket/nested_scroll_helper.html)を持っている内だWKWebViewでイベントをスクロールフラグメント内の唯一のスクロール可能な要素です.WebViewはスクロールイベントをページに送ります。SWIFT - HTMLだけでHTMLは固定ヘッダ</p> <p>WKWebViewに巻き込まれたスクロールイベントのカウンタを表示しますScrollView

WebViewの上下にネイティブエレメントを追加したい場合は、もっと複雑になります。

UIScrollView 
    UILabel 
    WKWebView 
    UILabel 

私はそれがScrollView内のWebViewを持つことは良いではありません知っているが、私はハイブリッドコンテンツやHTMLドキュメント内の適切なスクロールイベントと単一のスクロール体験を提供する必要があります。この問題についてたくさんの質問がありましたが、私は完全なエンドツーエンドのソリューションを作成することができませんでした。

答えて

0

基本的にはスクロールビュー内にスクロールビューがあります。それがどのように機能すると思いますか? WebViewのHTMLにラベルを追加します。彼らがネイティブである必要がある理由を見ないでください。

また、UIWebViewのUIScrollViewにラベルを追加することもできます。それが最初のサブビューです。スクロールビューのインセットを調整する必要があるかどうかは不明です。おそらくhtmlを注入する方がより確実に動作します。

3

更新日: しばらくお待ちください。

あなたは外側のscrollViewを保持したいと思っていますが、あなたがしたいことを達成することができないと確信しています(outerScrollView.delegate = webViewを設定した場合の唯一の方法ですが、

  1. は、あなたの外側scrollView
  2. はあなたが必要とする上部と下部にどのような高さにあなたのWebViewのためのcontentInsetsを設定削除:私は、私は最善の解決策があることだと思う)

    を試してみました。例えば。 100ptのために:webView.contentInset = UIEdgeInsetsMake(100,0,100,0);

  3. 以前

(他の方法で回避)(基本的に、あなたのcontentInsetsで作成した空き領域に)代わりにUIScrollViewののあなたのUIWebViewにサブビューとしてあなたのUIElementを追加します。

をあなたのUIWebView
  • ストアの高さ制約あなたUIViewControでIBOutletとして、高さ制約設定
    1. 充填剤
    2. はすぐのWebViewがロードされるように、そのコンテンツの高さを抽出webView.scrollView.contentSize.height
    3. 更新、それの価値を持つのUIWebView高さの制約s content height via self.webViewContentHeightConstraint.constant = webView.scrollView.contentSize.height
    4. あなた viewDidLoadやストーリーボード
    5. webView.scrollView.scrollEnabled = NO;を設定しました
    6. [self。scrollView layoutIfNeeded];あなたのビューが

    ドンの `tは、WebViewのがフィニッシュ積載量

    enter image description here

  • +0

    しかし、どのようにやった時はいつでも4 & 5は、WebViewのは巻物を承知しているであろう手順を行うことを忘れて、再びレンダリングされることを確認するには? – Luda

    +0

    あなたはwebviewでもうスクロールしないので、それはありません。スクロール可能なビューは1つしかなく、Webビューを「移動」します。それであなたは完璧なシングルスクロール体験を持っています – MarkHim

    +0

    私はあなたを得ますが、それは私たちが探しているものの中身です。それをスクロールしながらスクロールを認識するためにはwebviewが必要です – Luda

    関連する問題