webView
にhtml文字列をロードするときに、scrollViewDidScroll:
メソッドでコールバックを取得しようとしましたが、コンテンツがスクロールしていて、scrollViewDidScroll
が呼び出されません。私がURLRequest
オブジェクトをwebViewに渡すと正常に動作します。scrollViewDidScrollがUIWebViewで呼び出されない
HTMLの文字列を読み込もうとすると、scrollViewのコンテンツサイズがスクロールビューのサイズと同じになり、URLを読み込もうとすると、scrollViewのサイズがscrollViewのサイズよりも大きくなります。その場合はscrollViewDidScroll:
電話している。
私は多くのことを試しました。最初にスクロールビューデリゲートwebView.scrollView.delegate = self
を設定し、scrollViewDidScroll:
メソッドを実装しても機能しません。次に、スクロールビューデリゲートに適合するwebViewの子クラスを作成しました。私は今、私はMyWebViewDelegate
プロトコルに準拠し、方法myWebViewDidScroll:
を実装scrollViewDidScroll:
protocol MyWebViewDelegate: class {
func myWebViewDidScroll(_ scrollView: UIScrollView)
}
class MyWebView: UIWebView {
public weak var scrollViewDelegate: MyWebViewDelegate?
override func scrollViewDidScroll(_ scrollView: UIScrollView) {
super.scrollViewDidScroll(scrollView)
scrollViewDelegate?.myWebViewDidScroll(scrollView)
}
}
として上書きします。すべての仕事をした後、私は
myWebViewDidScroll:
にコールバックを持っていましたが、スクロールビューがバウンスしました。
ありがとうございます。しかし、私はすべてのデリゲートを設定しており、webViewがバウンスされたときに 'scrollViewDidScroll'が呼び出されています。そして、すでに 'URLRequest'オブジェクトをロードしたとしたら、同じコードでうまく動作します。私はHTMLの文字列を読み込むだけで問題があります。 –
@ChanchalChauhan - そのコードを表示できます –