1

我有一个WKWebView并且我需要知道它何时滚动,因此我将其滚动视图的委托绑定到我的控制器以使用UIScrollView委托方法:

self.myWebView.scrollView.delegate = self
...
func scrollViewDidScroll(_ scrollView: UIScrollView) {
    // Do stuff
    ...
}

它几乎适用于每个网页,但是当用户进行谷歌搜索,选择一个 AMP 页面然后向上或向下滚动时,我无法检测到该滚动。

有没有办法知道 AMP 页面是否滚动?

4

2 回答 2

0

我希望这行得通(它对我有用),存储 lastContentOffset 的 Y 位置并将其与当前进行比较。

private var lastContentOffset: CGFloat = 0

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    if (self.lastContentOffset > scrollView.contentOffset.y) {
         print("move up")
    }
    else if (self.lastContentOffset < scrollView.contentOffset.y) {
        print("move down")
    }
    self.lastContentOffset = scrollView.contentOffset.y
}
于 2018-01-30T13:11:29.617 回答
0
class ViewController: WKNavigationDelegate, UIScrollViewDelegate

var webView: WKWebView!

override func loadView() {
        super.loadView()
        webView = WKWebView()
        webView.navigationDelegate = self
        webView.scrollView.delegate = self
        view = webView
    }

func scrollViewDidScroll(_ scrollView: UIScrollView) {  
        print(scrollView.contentOffset.y)
    }
于 2018-07-09T13:32:50.847 回答