WebView не показывает мой HTML-файл - PullRequest
0 голосов
/ 15 мая 2018

У меня есть WebView в моем ViewController.Я создал файл BullsEye.html в своем проекте и хочу показать этот HTML-файл в своем веб-представлении.Ниже приведен мой код

if let url = Bundle.main.url(forResource: "BullsEye",
                                 withExtension: "html") {
      if let htmlData = try? Data(contentsOf: url) {
        let baseURL = URL(fileURLWithPath: Bundle.main.bundlePath)
        webView.load(htmlData, mimeType: "text/html",
                     textEncodingName: "UTF-8", baseURL: baseURL)
      }
    }

Приведенный выше код написан в viewDidLoad.Чего мне не хватает?

Ответы [ 3 ]

0 голосов
/ 18 мая 2018

Я запустил ваш код как есть и смог заставить все работать, как показано здесь, после изменения кода загрузчика webView. Это говорит о том, что у вас, вероятно, где-то скрывается UIWebView, вероятно, ваш взгляд в раскадровке.

enter image description here

Я бы порекомендовал вам убедиться, что вы постоянно используете WKWebView:

  • Импорт WebKit в файл вашего класса
  • Иметь действующую ссылку на выход, если вы используете раскадровку
  • При использовании раскадровки убедитесь, что вы используете WKWebView, а не устаревший UIWebView

enter image description here

0 голосов
/ 18 мая 2018

Нет проблем с вашим исходным кодом, я думаю.

Но, может быть, Bundle.main.url(forResource: "BullsEye", withExtension: "html") возвращает ноль? Если это так, вы должны проверить две вещи ниже:

  1. Включен ли файл для чтения в ресурсы ресурсов копирования

    Файлы для включения в проект зарегистрированы в TARGETS> Build Phases> Copy Bundle Resources.

enter image description here

  1. Существует ли файл для чтения в каталоге проекта

    Откройте каталог проекта в Finder и проверьте, существует ли файл, который вы пытаетесь загрузить, на самом деле.

enter image description here

Надеюсь, это поможет!

0 голосов
/ 15 мая 2018

Ниже код поможет вам.

   func loadHtmlFile() {
        if let fileurl = Bundle.main.url(forResource: "BullsEye", withExtension: "html") {  
            let request = URLRequest(url: fileurl!)
            webView.loadRequest(request)
    }
}

См. - swiftdeveloperblog

Также, если код не работает для вас, обязательно откройтеHTML-файл в любом браузере и проверьте, является ли он действительным HTML-файлом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...