我的目标是在 webView 仍在从服务器获取数据时做一个事件指示器
但我似乎无法找到这样做的方法。我能想到的唯一方法是关闭,但如何关闭?
如果我不添加任何事件指示器,那么它将只是空白屏幕,然后在一段时间后网页将显示。这不是一个好的用户体验。
这是代码
import UIKit
class SignupWebViewController: UIViewController {
@IBOutlet var signupWebView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "http://www.example.com/merchants/signup")
// How Do i do a closure here?
signupWebView.loadRequest(URLRequest(url: url!))
}
}
最佳答案
您必须实现UIWebViewDelegate
方法。在加载请求之前,执行以下操作:
signupWebView.delegate = self;
不要忘记将它添加到您的 ViewController
class SignupWebViewController: UIViewController, UIWebViewDelegate {
然后将您的逻辑添加到此方法中:
optional public func webViewDidStartLoad(_ webView: UIWebView) {
// show your activity indicator
}
optional public func webViewDidFinishLoad(_ webView: UIWebView) {
// hide your activity indicator
}
关于ios - 如何向 loadRequest 添加闭包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47144010/