我在故事板中连接了一个activityIndicator,并以编程方式创建了一个webView。然而,当我加载VC时,程序崩溃了,报告activityIndicator为空。为什么会这样呢?我确认插座连接正确。
import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate, WKNavigationDelegate {
var webView: WKWebView!
@IBOutlet weak var activityIndicator: UIActivityIndicatorView!
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 myURL = URL(string: "https://www.google.com/")
let myRequest = URLRequest(url: myURL!)
webView.load(myRequest)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
activityIndicator.startAnimating()
print("loadingwebpage")
}
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
print("didfinishloadingwebpage")
activityIndicator.stopAnimating()
}
}发布于 2018-03-31 22:27:01
你有这行代码:
view = webView这意味着您将创建的webView分配给viewController的视图。这就是为什么你的指示器会破坏并导致崩溃。
将webView添加到视图控制器的子视图中,崩溃就会消失。更改:
webView.frame = self.view.bounds
self.view.addSubview(webView)https://stackoverflow.com/questions/49588168
复制相似问题