gpt4 book ai didi

ios - 检测 WebView 何时在 Swift 4 中完成加载?

转载 作者:行者123 更新时间:2023-11-28 09:49:48 26 4
gpt4 key购买 nike

我想在 WebView 加载时显示进度,并在 WebView 完成加载时关闭它。我试过这段代码:

import UIKit
import WebKit
import SVProgressHUD
class ViewController: UIViewController, UIWebViewDelegate {
@IBOutlet var WebView1: WKWebView!
@IBOutlet var WebView2: WKWebView!


let YouTubeURL = URL (string: "https://www.youtube.com/")


@IBAction func YTButtonAction(_ sender: Any) {

let YTRequest = URLRequest(url: YouTubeURL!)
WebView1.load(YTRequest)
if WebView1.isLoading {
SVProgressHUD.show()
}
func webViewDidFinishLoad(WebView1 : UIWebView) {

SVProgressHUD.dismiss()

}


}
}

但它不起作用。进度继续轮换。有人知道如何解决这个问题吗?

最佳答案

三个致命问题:

  • 你必须设置委托(delegate)

    WebView1.delegate = self
  • 委托(delegate)方法签名错误

    func webViewDidFinishLoad(_ webView: UIWebView)
  • 委托(delegate)方法必须在类的顶层。

我认为还有第四个致命问题:我怀疑WKWebView 是否符合UIWebViewDelegate。我想你必须采用 WKNavigationDelegate 并改为实现 webView(:didFinish:)

并且请遵守 Swift 命名约定,变量和函数/方法名称以小写字母开头。

关于ios - 检测 WebView 何时在 Swift 4 中完成加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51196553/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com