在 UIWebView 上拉动刷新?

Pull to refresh on UIWebView?

我正在尝试拉动以刷新我加载网站的 UIWebViewUIWebView的代码很简单

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var WebView: UIWebView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        let URL = NSURL(string: "https://the url/")

        WebView.loadRequest(NSURLRequest(URL: URL!))

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }    
}

有没有人有任何示例,因为无论我搜索什么,我都只在 tableviews 上找到拉动刷新,我不确定它是否也适用于这个。

谢谢。

更新1.经过Sohil的建议代码是这样的

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var WebView: UIWebView!
    @IBOutlet weak var scrollView: UIScrollView!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        let URL = NSURL(string: "https://iremember.gr/")

        WebView.loadRequest(NSURLRequest(URL: URL!))
    }




    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
        func scrollViewWillEndDragging(scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {

            if (scrollView.contentOffset.y < 0){
                //reach top
                print("Reach Top")
                WebView.reload()
            }
            else {
                print("nothing")
            }
        }
    }

}

但是当我尝试重新加载它时它甚至不打印 "nothing"。

您可以使用 UIScrollView 来完成该任务。首先,您需要检查用户是否正在拉 UIWebView 'Up' 或 'Down',因为下面的代码将有助于查看并重新加载 UIWebView:

func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {

     if (scrollView.contentOffset.y < 0){
     //reach top
          print("Reach Top")
          webView.reload()
     }
 }

确保您已将委托添加到 UIScrollView:

webView.scrollView.delegate = self

希望对您有所帮助!

你好你可以做到这一点

 - (void)viewDidLoad {
 webViewHome.scrollView.delegate = self;
    // Refresh UIControl
    refreshControl = [[UIRefreshControl alloc]init];
    [webViewHome.scrollView addSubview:refreshControl];
    [refreshControl addTarget:self action:@selector(refreshWebview) forControlEvents:UIControlEventValueChanged];

}

Refresh method 
- (void)refreshWebview {
    //TODO: refresh your data
    [refreshControl endRefreshing];
   [self loadWebviewWithUrl:kLoginUrl];
}

 I add refresh control in Did Load method. then I define refresh controller method and in that, I reload my webview.