0

所以我所追求的是一种将a放在aUIButton之上UIScrollView和aUIWebView之下的方法。我想要这种方式的原因是当用户滚动我加载到 UIWebView 中的页面时,我需要按钮“滚动”。

为了使它工作,我需要获取我加载的网页内容的高度,然后设置 web 视图的高度以匹配 this。如果我能做到这一点,我打算设置 UIScrollView 的 contentSize 以匹配按钮和 Web 视图的高度。

我知道这应该以某种方式发生在 - (void)webViewDidStartLoad:(UIWebView *)webView方法中,这在 stackoverflow 上的许多线程上得到了证实(例如这个)。我也知道 Apple 说您不应该将 UiWebView 放在 UIScrollView 中,因为滚动操作可能会干扰。禁用 web 视图的滚动应该可以避免这个问题。

有很多线程讨论这个问题,但似乎没有一个对我有用。可能是因为我在 iOS7 上运行吗?



我在这里非常绝望,非常感谢帮助!

4

2 回答 2

3

您可以使用以下代码获取高度:

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;
}
于 2015-07-22T08:22:59.573 回答
0

您可以获得加载到 a 中的内容的高度,UIWebView如下所示:

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    CGFloat contentHeight = webView.scrollView.contentSize.height;
}

然后相应地调整网页视图的框架。

于 2013-10-10T13:55:27.770 回答