开发者社区> 问答> 正文

在SWIFT上完成触摸拖动时,如何刷新?

我有个问题refresh部分。目前,该功能为refresh都没问题。

但是当用户触摸完iPhone后,我想刷新一下。

var refController:UIRefreshControl = UIRefreshControl()
override func viewDidLoad() {
    super.viewDidLoad()
    refController.bounds = CGRect.init(x: 0.0, y: 40.0, width: refController.bounds.size.width, height: refController.bounds.size.height)
    refController.addTarget(self, action: #selector(self.webviewRefresh(refresh:)), for: .valueChanged)
    refController.attributedTitle = NSAttributedString(string: "refreshing")
    WKWebView.scrollView.addSubview(refController)
    if contentController.userScripts.count > 0 {
        contentController.removeAllUserScripts()
    }
...
}
@objc func webviewRefresh(refresh:UIRefreshControl){
    refController.endRefreshing()
    WKWebView.reload()
}

目前,即使用户此时还没有完成触摸,当屏幕降低到一定高度时,也会在屏幕上执行刷新操作。

但是,当用户完成触摸屏幕时,我想运行刷新。

展开
收起
游客5akardh5cojhg 2019-12-06 14:53:30 395 0
1 条回答
写回答
取消 提交回答
  • 您必须在中调用refresh方法scrollViewDidEndDecelerating委托方法UIScrollViewDelegate...所以进口UIScrollViewDelegate在你的ViewController喜欢,

    extension YourViewController: UIScrollViewDelegate {
        func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
            if self.refController.isRefreshing {
                self.webviewRefresh()
            }
        }
    }
    
    

    那你的webviewRefresh将会是,

    @objc func webviewRefresh(){
            refController.endRefreshing()
            WKWebView.reload()
        }
    
    

    你的viewDidLoad将会是,

    override func viewDidLoad() {
           super.viewDidLoad()
           refController.bounds = CGRect.init(x: 0.0, y: 40.0, width: refController.bounds.size.width, height: refController.bounds.size.height)
           refController.attributedTitle = NSAttributedString(string: "refreshing")
           WKWebView.scrollView.addSubview(refController)
           WKWebView.scrollView.delegate = self
           if contentController.userScripts.count > 0 {
               contentController.removeAllUserScripts()
           }
       }
    
    2019-12-06 14:54:55
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载