我想增加webview的大小,根据Html文本行,但是我的网页视图大小没有正确显示,我在固定框架中显示内容,稍后当用户选择行时我需要扩展符合的单元格html文本,请帮我解决这个问题,我使用的代码是
enter code here NSLog(@"web view and selected ==== %d ---%d",webView.tag,selectedRow);
//CGFloat webViewHeight = 0.0f;
if (webView.subviews.count > 0) {
UIView *scrollerView = [webView.subviews objectAtIndex:0];
if (scrollerView.subviews.count > 0) {
UIView *webDocView = scrollerView.subviews.lastObject;
if ([webDocView isKindOfClass:[NSClassFromString(@"UIWebDocumentView") class]])
webViewHeight = webDocView.frame.size.height;
NSLog(@"web view height is %d",webViewHeight);
}
}
答案 0 :(得分:0)
要获取实际的HTML文档高度,您应该执行以下操作:
NSUInteger height = [[webView stringByEvaluatingJavaScriptFromString:@"getDocHeight()"] intValue];
其中getDocHeight
是:
function getDocHeight() {
return Math.max(
Math.max(document.body.scrollHeight, document.documentElement.scrollHeight),
Math.max(document.body.offsetHeight, document.documentElement.offsetHeight),
Math.max(document.body.clientHeight, document.documentElement.clientHeight)
);
}
为此,您必须等待HTML文档完全呈现(即,您的代表已收到webViewDidFinishLoad:
)。
P.S。:如果你想快速检查,你也可以尝试:
NSUInteger height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"] intValue];
这也应该有用,但上面的版本更便携。