Ich habe zur Zeit eine App, die beim Öffnen der App auf eine bestimmte URL verweist. Offensichtlich kann es eine Verzögerung zwischen dem Öffnen und dem Laden des WebView geben. Ich möchte also einen Aktivitätsindikator anzeigen, wenn das WebView geladen wird der folgende Code in meinem ViewController.swift:Wie kann UIActivityIndicator verschwinden, sobald er erscheint?
class ViewController: UIViewController, UIWebViewDelegate {
@IBOutlet weak var webView: UIWebView!
@IBOutlet weak var activityIndicator: UIActivityIndicatorView!
override func viewDidLoad() {
super.viewDidLoad()
webView.delegate = self
let url = URL(string: "url to site")
webView.loadRequest(URLRequest(url: url!)
}
func webViewDidStartLoad(webView: UIWebView){
activityIndicator.startAnimating()
}
func webViewDidFinishLoad(webView: UIWebView){
activityIndicator.stopAnimating()
}
die Aktivitätsanzeige zeigt von Anfang an, aber es verschwindet nicht einmal die webView Lasten und bleibt sie für immer.
Dank für die Empfehlung, habe ich gerade meine Frage aktualisiert, um besser zu zeigen, was ich suche, wenn Sie einen Blick werfen möchten, danke! – athill16
@ athill16 Ich würde sicherstellen, dass "hidesWhenStopped" ist "wahr", wie Sie es vermuten, und implementieren Sie die 'didFail' Delegate-Methode. Wenn Sie einen Haltepunkt in 'webViewDidFinishLoad' platzieren, hört es dann tatsächlich auf? –
Ich habe Haltepunkte hinzugefügt und sie haben nicht ausgelöst, aber das Problem war eigentlich eine Syntax, die das meiste davon reparierte, also werde ich in der Post aktualisieren. Meine einzige Frage ist, was macht die DidFail-Methode eigentlich? Ist dies der Fall, wenn die Telefonverbindung der Person so schlecht ist, dass das WebView nicht geladen werden konnte? – athill16