私はまったく同じことをしました。ここで私はそれがうまくなさ方法は次のとおりです。
- UIScrollViewの(明らかに;-)
- を無効のUIWebViewのネイティブスクロールのサブビューとしてのUIWebViewを追加します(あなたが行うことができるのUIWebViewのサブビューを反復することにより
-
。あなたはそれがUIScrollViewの、その上にNO = scrollEnabledセットです見つけるまでUIWebViews HTMLコンテンツのサイズにあなたのUIScrollViewのをcontentSizeとのUIWebViewの枠を設定してください。
あなたがすることはできませんので、最後の点は少しトリッキーですHTMLが完全にレンタルされていることを確認してくださいWebViewDidFinishLoad:がUIWebViewDelegateで呼び出されたときのことです。
ここではHTMLコンテンツのサイズを取得するための信頼性の高い方法です:
1.Add javascript関数HTMLドキュメントの準備ができたときに呼び出されるHTMLに:
window.onload = function() {
window.location.href = "ready://" + document.body.offsetHeight;
}
この機能が要求を送信しますそのURLにコンテンツの高さがあります。あなたはこの要求をインターセプトし、あなたのUIWebViewDelegate 2.In
:
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
guard navigationType == .Other else { return true }
if let url = request.URL, let host = url.host {
guard url.scheme == "ready" else { return true }
if let contentHeight = Float(host) {
yourScrollView.contentSize = CGSizeMake(yourScrollView.bounds.size.width, CGFloat(contentHeight))
var fr = webView.frame
fr.size = CGSizeMake(fr.size.width, CGFloat(contentHeight))
webView.frame = fr
}
return false
}
return true
}
できる人:
・ホープここ
UPDATE
を助けスウィフト2バージョンありそれを迅速に翻訳する? –
@YestayMuratov遅く返事を申し訳ありません。私は答えを – joern
@joernにスウィフト2のバージョンを追加しました.HTMLのコンテンツにJSが添付された「もっと見る」リンク(記事を展開または読み込んで展開する)のようなものがあれば動作しません。 – OgreSwamp