WKwebview не отображается с индикатором активности - PullRequest
0 голосов
/ 14 октября 2018

Я пытаюсь загрузить веб-страницу в WKWebView.Это на самом деле работало нормально.Однако у меня возникли проблемы с отображением индикатора прогресса (UIActivityIndicaatorView()).Я не могу понять, что я делаю не так.Я пробовал так много решений.Пожалуйста, помогите

    var activityIndicator:UIActivityIndicatorView = UIActivityIndicatorView()
    var webView:WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Setting up webview
        let webConfiguraton = WKWebViewConfiguration()
        webView = WKWebView(frame: .zero, configuration: webConfiguraton)
        webView.uiDelegate = self
        view.addSubview(webView)
        let myURL = URL(string:"link")
        let myRequest = URLRequest(url: myURL!)
        webView.load(myRequest)
        webView.addObserver(self, forKeyPath: #keyPath(WKWebView.isLoading), options: .new, context: nil)
        // setting up activity indicator
        activityIndicator.center = self.view.center
        activityIndicator.hidesWhenStopped = true
        activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.gray
        view.addSubview(activityIndicator)
        activityIndicator.startAnimating()
        // Do any additional setup after loading the view.
    }

    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
        if keyPath == "loading"{
            if webView.isLoading{

            } else {

            }
        }
    }

1 Ответ

0 голосов
/ 18 марта 2019

WKWebView кажется, что не появляется, потому что вы устанавливаете его frame размер на .zero.Вы можете попробовать установить его так:

webView = WKWebView(frame: self.view.frame, configuration: webConfiguraton)
...