[英]Swift: Custom action for UIRefreshControl in WKWebView
我正在使用最新的Xcode
和Swift
版本。
我正在使用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.