Я пытаюсь встроить социальный пост (Instagram, Facebook и Twitter) в WKWebView
, поэтому я использовал WKUserScript
для вычисления высоты.
К сожалению, после загрузки WKWebView didFinish
изменение кадра не влияет на отображаемое содержимое, как показано на рисунке.
Вот мой код:
var height: CGFloat = 0 {
didSet {
let frame = CGRect(x: 0, y: 0,
width: SocialWebViewHelper.webViewWidth,
height: self.height)
self.webView.frame = frame
self.webView.sizeToFit()
self.webView.sizeThatFits(frame.size)
self.webView.scrollView.sizeToFit()
self.webView.scrollView.sizeThatFits(frame.size)
}
}
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
guard let responseDict = message.body as? [String: Any],
let height = responseDict["height"] as? CGFloat else {
return
}
let newHeight = max(self.height, CGFloat(height))
if self.height != newHeight {
self.height = newHeight
}
}
Любой идея как это исправить?
: