当我在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:
中收到回调,但滚动视图被弹回。
答案 0 :(得分:1)
你是否只为UIWebView.set设置了委托给scrollView的委托。
webView.scrollView.delegate = self