gpt4 book ai didi

javascript - 使用 'document.body.scrollHeight;' 计算 UIWebView 内容动态高度在 iOS 10 中返回更大的值

转载 作者:可可西里 更新时间:2023-11-01 03:34:04 25 4
gpt4 key购买 nike

我正在使用 Objective C 创建一个应用程序,我在其中使用 UIWebView 以 HTML 格式显示内容。我在 UIWebView 委托(delegate)方法 webViewDidFinishLoad

中使用以下代码

NSUInteger contentHeight = [[aWebView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.body.scrollHeight;"]] intValue];

计算 webview 内容高度,这在 iOS8iOS9iOS11 中工作正常,但在 iOS10 中> iPhone 移动内容高度返回比实际内容值大得多的值。因此,我在屏幕中的 webview 底部得到了一些额外的空白。

我尝试了所有解决方案,但仅在 iOS 10 中出现相同的错误内容高度。请帮助我解决此问题。提前致谢!

最佳答案

我使用了下面的方法来获取 contentSize。

我在 webview 的 ScrollView 上添加了观察者(KVO)。

self.webView.scrollView.addObserver(self, forKeyPath: "contentSize", options: .new, context: nil);

现在,每当 webview 的 contentsize 发生变化时,我都会在这个方法中得到回调

override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
}

现在从此方法中获取对象的 contentSize 并使用它。

关于javascript - 使用 'document.body.scrollHeight;' 计算 UIWebView 内容动态高度在 iOS 10 中返回更大的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45994641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com