swift - 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
}
}
解决方案
您需要将它分配给一个实例属性(就像您已经为 所做的那样var webView: WKWebView!
)并分配它 - 然后您可以在以后的时间点访问它。
self.imageView = UIImageView(image: image!)
推荐阅读
- list - Prolog中列表中连续相似元素的子列表
- java - 我们可以通过更改 Java 中的返回类型(协变返回类型)来覆盖方法。为什么?
- python - loc 获取没有 .index[0] 的索引
- daml - IntelliJ 编辑器同步错误:find ./node_nix/bin: No such file or directory
- java - 在 POJO 类中为 JSON 映射定义必填字段
- mysql - 我是 SQL 新手,我无法从数据库中选择
- c# - 奖励视频广告事件未在 Unity 和 Admob 中触发
- c - 自动变量的生命周期是否等于静态变量的生命周期(在同一块内)?
- javascript - 如何在 React Hooks CRUD 应用程序中编辑文本功能?例如笔记/待办事项应用程序?
- java - 从列表中分离一个字段并创建一个新列表