我的代码成功加载了我想要的网页;但是,我在加载活动指示器时遇到了问题。
我是新手,因此我正在阅读其他stackexchange示例。我创建了一个UIActivityIndicator,将其设置在替代功能中,但未显示。
该网页可以正常加载。这是可运行的代码。
import UIKit
import WebKit
class FeedbackWebViewController: UIViewController, WKNavigationDelegate {
let indicator = UIActivityIndicatorView(style: .gray)
var webView: WKWebView!
override func loadView() {
webView = WKWebView()
webView.navigationDelegate = self
indicator.center = webView.center
indicator.hidesWhenStopped = true
webView.addSubview(indicator)
view = webView
}
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "https://www.apple.com")!
webView.load(URLRequest(url: url))
webView.allowsBackForwardNavigationGestures = true
self.indicator.startAnimating()
}
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
indicator.stopAnimating()
}
func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) {
indicator.stopAnimating()
}
}
答案 0 :(得分:0)
不要覆盖loadView。坏事可能发生。 在didLoad中移动代码。应该可以。
答案 1 :(得分:0)
尝试将相关的3行放入viewDidAppear而不是viewDidLoad。它对我有用。