我有问题 获取 WKWebview 的真实内容大小,有什么想法吗?
如何确定一个WKWebView的内容大小? 上面的答案对我不起作用,有什么想法吗?谢谢!
下面的代码对我有用,但是一旦 WKWebview 的视图树发生变化,这可能会出错。 发表你的最佳答案,谢谢!
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) {
if let scroll_cls = NSClassFromString("WKChildScrollView"),
let compose_cls = NSClassFromString("WKCompositingView") {
let viewss = webView.allSubViewsOf(cls: scroll_cls)
if let first = viewss.first?.subviews.first,
first.isKind(of: compose_cls) {
if webView.bounds.height >= first.bounds.height {
// webivew is at bottom
}
}
}
}
}
extension UIView {
func allSubViewsOf(cls: AnyClass) -> [UIView] {
var all = [UIView]()
func getSubview(view: UIView) {
if view.isKind(of: cls) {
all.append(view)
}
guard view.subviews.count > 0 else { return }
view.subviews.forEach{ getSubview(view: $0) }
}
getSubview(view: self)
return all
}
}