[英]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.