簡體   English   中英

Swift:WKWebView 中 UIRefreshControl 的自定義操作

[英]Swift: Custom action for UIRefreshControl in WKWebView

我正在使用最新的XcodeSwift版本。

我正在使用WKWebView顯示來自我的網絡服務器的內容。

我正在使用以下代碼pull to refresh

let refreshControl = UIRefreshControl()
refreshControl.addTarget(self, action: #selector(refreshWebView(_:)), for: UIControl.Event.valueChanged)
homeWebView.scrollView.addSubview(refreshControl)

由於刷新似乎與(重新)加載 URL 不同,這會導致一些意外行為。 此外,它不會觸發func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!) { .

有什么方法可以catch pull to refresh function 並制作一些自定義內容,例如加載另一個 URL?

您可以只更改您傳遞給自定義操作的Selector中的操作,方法如下:

refreshControl.addTarget(self, action: #selector(myCustomAction), for: UIControl.Event.valueChanged)

行動:

@objc func myCustomAction() {
    print("my custom action here...")
}

Swift 4 和 Swift 5

lazy var refreshControl: UIRefreshControl = {
    let ref = UIRefreshControl()
    ref.attributedTitle = NSAttributedString(string: "Pull to refresh")
    ref.tintColor = UIColor.red
    ref.addTarget(self, action: #selector(refreshData), for: UIControl.Event.valueChanged)
    return ref
}()
  override func viewDidLoad() {
        super.viewDidLoad()
        myWebView.scrollView.addSubview(refreshControl) 
    }
@objc func refreshData(){
    //TODO:- Do whatever you want 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM