Если вы хотите получить высоту содержимого html в WKWebView
, чтобы сделать его недоступным для прокрутки внутри UIScrollView
, тогда читайте дальше.
Вам необходимо наблюдать (через делегата) высоту содержимого вашего веб-представления. Я даю вам эти шаги, так как вы прекрасно знаете, что делаете, и вы почти у цели.
Создайте выход из ограничения высоты webView
@IBOutlet weak var constraint_WebViewHeight: NSLayoutConstraint!
Подписаться на делегата webView
Это сообщит вам (ваш контроллер, когда ваш webView завершит загрузку содержимого вашего сайта.
self.webView.navigationDelegate = self
Соответствует протоколу
Внутри didFinish navigation
метода WKNavigationDelegate
вы затем настраиваете константу ограничения высоты вашего webView. Поместите анимацию, если хотите:)
extension ViewController: WKNavigationDelegate {
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
self.constraint_WebViewHeight.constant = webView.scrollView.contentSize.height
}
}
}
Наконец, исправьте свои ограничения.
а. Удалите свое нижнее ограничение imageView.
б. Добавьте нижнее ограничение к вашей кнопке сохранения в scrollView.
Это сделает ваш scrollView прокручиваемым.
Вуаля! Это дает этот результат.
Надеюсь, это поможет!