Я использую новейшую версию Xcode
и Swift
.
В моем приложении есть WKWebView
, который загружает страницу, содержащую поле ввода для загрузки файлов на мой сервер.
В моем приложении есть следующий код:
func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!) {
networkActivityIndicator.startAnimating()
}
Это покажет индикатор сетевой активности во время загрузки веб-страницы.
По какой-то причине это не вызывается, когда я начинаю загружать файл. Это будет вызвано, когда файл будет готов:
- Я выбираю файл и нажимаю, чтобы отправить / загрузить файл.
- Начнется загрузка файла (это может занять некоторое время),
WKWebView didCommit
не запускается. - Загрузка файла готова, и веб-страница перезагружается. Теперь вызывается
WKWebView didCommit
.
Почему не вызывается WKWebView didCommit
, как только я отправляю форму для загрузки файла?
1 ответ
Решением было добавить startAnimating()
к WKWebView decidePolicyFor
следующим образом:
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
decisionHandler(.allow)
networkActivityIndicator.startAnimating()
}
Похожие вопросы
Новые вопросы
ios
iOS - мобильная операционная система, работающая на Apple iPhone, iPod touch и iPad. Используйте этот тег [ios] для вопросов, связанных с программированием на платформе iOS. Используйте связанные теги [target-c] и [swift] для проблем, характерных для этих языков программирования.