Swift - WKWebView вообще не отображается - PullRequest
0 голосов
/ 01 июня 2019

У меня есть простой WKWebView, который вообще не отображается в моем приложении.

Это код:

var contentWKWebView = WKWebView()
let html = "<html><body>Hello World</body></html>"
contentWKWebView.loadHTMLString(html, baseURL: Bundle.main.bundleURL)
self.addSubview(contentWKWebView)
contentWKWebView.translatesAutoresizingMaskIntoConstraints = false
contentWKWebView.leftAnchor.constraint(equalTo: self.leftAnchor, constant: 5).isActive = true
contentWKWebView.rightAnchor.constraint(equalTo: self.rightAnchor, constant: -5).isActive = true
contentWKWebView.topAnchor.constraint(equalTo: stackView.bottomAnchor, constant: 10).isActive = true
contentWKWebView.bottomAnchor.constraint(equalTo: self.bottomAnchor, constant: -10).isActive = true

Веб-представление вообще не отображается.

Примечания:

  1. Этот код является частью кода UITableCellView внутри UITableView.

  2. Этот код находится в отдельном Model Swiftфайл, а не непосредственно под файлом ViewController Swift.

  3. Импорт в этом файле Swift:

import Foundation

импорт UIKit

импорт WebKit

В UITableCellView есть другие объекты, предшествующие WKWebView (StackView, Label и т. Д.), Которые отображаются правильно.

Есть идеи?

Спасибо!AJ

1 Ответ

0 голосов
/ 02 июня 2019

Проблема была в том, что я пропустил строку:

var contentWKWebView = WKWebView()

Эта строка была в начале TableCellView, перед функцией init. Правильное поведение - вывести эту строку внутрь: func layoutSubviews ()

Более того, я думаю, что лучше сделать UIView и поместить в него WKWebView, который придерживается его границ. Были действительно проблемы с ограничениями.

Спасибо, парень, что открыл мне разум.

AJ

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