首页 > 解决方案 > webView完成加载Swift 5之前的加载器图像

问题描述

我有简单的网络视图。我只需要在 webView 完成加载后消失的图像。

此功能有效,但我在“imageView.isHidden = false”行出现错误

错误是:“使用未解析的标识符‘imageView’”

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
      imageView.isHidden = false
   }

完整代码:

import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate, WKNavigationDelegate {
    
    var webView: WKWebView!
    public var screenWidth: CGFloat {
        return UIScreen.main.bounds.width
    }
    
    public var screenHeight: CGFloat {
        return UIScreen.main.bounds.height
    }
    
    override func loadView() {
        let webConfiguration = WKWebViewConfiguration()
        webView = WKWebView(frame: .zero, configuration: webConfiguration)
        webView.uiDelegate = self
        webView.navigationDelegate = self
        view = webView
    }
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let imageName = "icon.png"
        let image = UIImage(named: imageName)
        let imageView = UIImageView(image: image!)
        imageView.frame = CGRect(x: 0, y: 0, width: screenWidth, height:screenHeight)
        view.addSubview(imageView)
       
        let myURL = URL(string:"https://google.com")
        let myRequest = URLRequest(url: myURL!)
        webView.load(myRequest)
    }
    
   func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
      imageView.isHidden = false
   }
    
    
}

标签: swift

解决方案


您需要将它分配给一个实例属性(就像您已经为 所做的那样var webView: WKWebView!)并分配它 - 然后您可以在以后的时间点访问它。

self.imageView = UIImageView(image: image!)


推荐阅读