swift - webViewDidStartLoad 和 webViewDidFinishLoad 不起作用
问题描述
我正在尝试检查 web 视图是否正在加载以及它是否完成加载以及当我尝试搜索它时这是我得到的但是它似乎不起作用是因为我做错了什么或者他们更改了代码为了它?我确实为 Web 视图设置了委托,所以我认为问题不在于委托。
@IBOutlet weak var webView: UIWebView!
@IBOutlet weak var activity: UIActivityIndicatorView!
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "https://stackoverflow.com")
let urlRequest = URLRequest(url: url!)
webView.loadRequest(urlRequest)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func webViewDidStartLoad(_ webView: UIWebView){
print("Webview started Loading")
}
func webViewDidFinishLoad(_ webView: UIWebView) {
print("Webview did finish load")
}
解决方案
您需要使您的类符合 UIWebViewDelegate 并将 webView 的管理委托给您的类:
class YourClass: UIViewController, UIWebViewDelegate {
@IBOutlet weak var webView: UIWebView!
@IBOutlet weak var activity: UIActivityIndicatorView!
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "https://stackoverflow.com")
//!!!!!!!
webView.delegate = self
//!!!!!!!
let urlRequest = URLRequest(url: url!)
webView.loadRequest(urlRequest)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func webViewDidStartLoad(_ webView: UIWebView){
print("Webview started Loading")
}
func webViewDidFinishLoad(_ webView: UIWebView) {
print("Webview did finish load")
}
}
推荐阅读
- javascript - 如何在Javascript中过滤掉数组中相似的属性名称?
- flutter - 不要在 github 中推送我的颤振代码... :(
- javascript - 如何为 3rd 方 css 框架(如 bootstrap)应用样式
- mongoose - collection.find() 用于 2 个集合并将信息推送到视图
- powershell - PowerShell - 使用凭据本地管理员连接到服务器
- google-analytics - 如何在 Adobe 分析数据馈送中获取购物车添加的数量?
- keycloak - Keycloak 客户端发起的帐户链接 - 缺少映射属性
- java - Android Studio(SQLite 数据库),我要在表中添加 LineNo,我怎样才能让它自动递增 1?
- excel - VBA EntireRow.Delete 直到特定列
- java - 在 Android 中为客户端证书获取错误的密钥库版本