scrollViewDidScroll没有在UIWebView中调用

时间:2017-02-24 07:00:43

标签: ios swift uiscrollview uiwebview

当我在scrollViewDidScroll:中加载html字符串时,我试图在webView方法中获得回调,但内容是滚动而scrollViewDidScroll未被调用。如果我在webView中传递URLRequest对象,它可以正常工作。

我注意到的一件事是,如果我尝试加载html字符串,则scrollView内容大小与滚动视图大小相同,如果我尝试加载url,则会使scrollView内容大小大于scrollView大小,在这种情况下{{ 1}}接听电话。

我尝试了很多东西。首先我设置滚动视图委托scrollViewDidScroll:并实现webView.scrollView.delegate = self方法,但它不起作用,然后我创建了一个符合滚动视图委托的webView子类。我将scrollViewDidScroll:覆盖为

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) } } 协议并实施方法MyWebViewDelegate。完成所有工作后,我在myWebViewDidScroll:中收到回调,但滚动视图被弹回。

1 个答案:

答案 0 :(得分:1)

你是否只为UIWebView.set设置了委托给scrollView的委托。

webView.scrollView.delegate = self