У кого-нибудь есть идея, почему мой индикатор активности не останавливается, когда веб-просмотр закончил загрузку? Веб-представление делегировано, UIActivityIndicatorView
начать анимацию и т. Д., Находится в моем коде ...?Индикатор активности не останавливается при завершении webview
Это соответствующий код:
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")
}
Спасибо!
Дэн является победителем! (проголосовали.) Каждый раз, когда у вас есть метод делегата, если подпись имени или метода отличается от определения метода делегата, он не будет вызван. Это укусит всех в какой-то момент. Установите точку останова в своих методах делегата и убедитесь, что они вызываются (или используют оператор журнала, как вы это делаете.) Если этот метод не вызывается, попробуйте скопировать/вставить определение метода из документов или файлов заголовков. –