[英]Get height of UIWebView loaded content
因此,我所需要的是一种将UIButton
放在UIScrollView
之上以及UIWebView
之下的方法。 我想要这种方式的原因是,当用户滚动加载到UIWebView的页面时,我需要按钮“滚动”。
为了使它起作用,我需要获取加载的网页内容的高度,然后设置Web视图的高度以与此匹配 。 如果可以的话,我打算设置UIScrollView的contentSize以匹配按钮和Web视图的高度。
我知道应该以某种方式在- (void)webViewDidStartLoad:(UIWebView *)webView
方法中发生这种情况,该方法已在stackoverflow的许多线程上得到确认(例如, 这一点 )。 我也知道苹果公司说您不应将UiWebView放在UIScrollView中,因为滚动动作可能会干扰。 禁用Web视图的滚动应该可以避免该问题。
有很多讨论这个问题的话题,但是似乎没有一个对我有用。 可能是因为我在iOS7上运行吗?
我在这里非常沮丧,非常感谢您的帮助!
您可以使用以下代码获取高度:
NSString *heightStrig = [webView stringByEvaluatingJavaScriptFromString:@"(document.height !== undefined) ? document.height : document.body.offsetHeight;"];
float height = heightStrig.floatValue;
完整的代码:
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
CGRect frame = webView.frame;
NSString *heightStrig = [webView stringByEvaluatingJavaScriptFromString:@"(document.height !== undefined) ? document.height : document.body.offsetHeight;"];
float height = heightStrig.floatValue + 10.0;
frame.size.height = height;
webView.frame = frame;
}
您可以按以下方式获取加载到UIWebView
中的内容的高度:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
CGFloat contentHeight = webView.scrollView.contentSize.height;
}
然后相应地调整Web视图的框架。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.