我正在尝试在- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
内获取UIWebView滚动内容大小
方法,以便在存在水平滚动时显示箭头图像。
1)我已经尝试webView.scrollview.contentSize
来获取滚动内容大小,但即使内容大小较多,也始终会给我webview框架值。
2)我试过
CGSize contentSize = CGSizeMake([[webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollWidth;"] floatValue],
[[webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"] floatValue]);
即使是上述第二种方法也没有给出正确的内容大小。
他们是获得准确的webview嵌入式scrollView内容大小的简单方法吗?
答案 0 :(得分:1)
这不是你希望我猜的答案,但你的方法是错的。
- (BOOL)webView:(UIWebView *)webView should**Start**LoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
您会看到,调用此方法时,会调用它,因为将要启动新请求。此时,UIWebView尚未收到您的页面,因此无法为您提供正确的contentSize。
答案 1 :(得分:1)
也可以尝试使用offsetWidth/offsetHeight
CGSize contentSize = CGSizeMake([[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetWidth;"] floatValue],
[[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] floatValue]);
答案 2 :(得分:0)
看看我刚才写的这篇博文,当时我不得不做类似的事情: http://www.pixeldock.com/blog/set-the-height-of-a-uiwebview-to-the-height-of-its-html-content/