Quelqu'un at-il une idée de la raison pour laquelle mon indicateur d'activité ne s'arrête pas lorsque le chargement du webview est terminé? Vue Web est déléguée, UIActivityIndicatorView
commencer à animer etc, est dans mon code ...?L'indicateur d'activité ne s'arrête pas lorsque le chargement de la vue Web est terminé
Voici le code correspondant:
import UIKit
class ViewController: UIViewController, UIWebViewDelegate {
@IBOutlet weak var webview: UIWebView!
@IBOutlet weak var activity: UIActivityIndicatorView!
var url = "http://apple.com"
func loadURL() {
let requestURL = NSURL(string: url)
let request = NSURLRequest(URL: requestURL!)
webview.loadRequest(request)
}
override func viewDidLoad() {
super.viewDidLoad()
loadURL()
// Do any additional setup after loading the view, typically from a nib.
webview.delegate = self;
}
func webviewDidStartLoad(_ : UIWebView){
activity.startAnimating()
NSLog("The webview is starting to load")
}
func webviewDidFinishLoad(_ : UIWebView){
activity.stopAnimating()
activity.hidden=true;
NSLog("The webview is done loading")
}
Merci!
Dan est le gagnant! (voté.) Chaque fois que vous avez une méthode déléguée, si la signature du nom ou de la méthode est différente de la définition de la méthode déléguée, elle ne sera pas appelée. Cela mord tout le monde à un moment donné. Définissez un point d'arrêt dans vos méthodes déléguées et assurez-vous qu'elles sont appelées (ou utilisez une instruction log comme vous le faites). Si la méthode n'est pas appelée, copiez/collez la définition de méthode hors des docs ou des fichiers d'en-tête. –