WKWebView中的UIRefreshControl不会滚动固定内容

时间:2019-07-04 16:25:21

标签: swift uiscrollview wkwebview uirefreshcontrol

我在其scrollView中设置了WKWebView和UIRefreshContol。我想要的行为是,当我滚动以打开UIRefreshControler时,整个页面都向下滚动。在没有固定顶部内容的页面上,此方法效果很好。在顶部栏固定的页面上,UIRefresh控件会翻阅固定内容,并向下滚动页面上未固定的内容。

这是在没有固定内容的页面上的外观,这是预期的行为:

expected behavior

这是刷新前具有固定顶部栏的页面的外观:

page with fixed div

这是拉动UIRefreshControl时的外观(UIRefreshControl移过而不滚动固定内容。这是意外的行为):

unexpected behavior

我以这种方式设置了UIRefreshView:

refreshControl.addTarget(self, action: #selector(refreshAnimation), for: .valueChanged)
        refreshControl.backgroundColor = #colorLiteral(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)

        let refreshContents = Bundle.main.loadNibNamed("RefreshView", owner: self, options: nil)

        customRefreshView = (refreshContents![0] as! UIView)
        customRefreshImage = (customRefreshView.viewWithTag(1) as! UIImageView)
        customRefreshView.frame = refreshControl.bounds

        refreshControl.tintColor = .clear

        refreshControl.addSubview(customRefreshView)


        refreshControl.addObserver(self, forKeyPath: #keyPath(UIRefreshControl.isHidden), options: .new, context: nil)

        refreshAnimator = CABasicAnimation(keyPath: "transform.rotation.z")
        refreshAnimator.toValue = NSNumber(value: .pi * 20.0)
        refreshAnimator.duration = 7.5;
        refreshAnimator.isCumulative = true;
        refreshAnimator.repeatCount = .infinity;
        page.scrollView.addSubview(refreshControl)

当UIRefreshControl可见时,如何允许滚动固定内容?我想我需要以当前UIRefreshControl高度的大小插入一个contentInset,但是我不知道怎么做。

0 个答案:

没有答案