所以我所追求的是将UIButton
放在UIScrollView
和UIWebView
之下的方法。我想这样做的原因是当用户滚动我加载到UIWebView中的页面时,我需要按钮“滚动”。
为了实现这一点,我需要获取我加载的网页内容的高度,然后设置网页视图的高度以匹配。如果我可以这样做,那么我打算设置UIScrollView的contentSize以匹配按钮和Web视图的高度。
我理解这应该发生在- (void)webViewDidStartLoad:(UIWebView *)webView
方法中,这在stackoverflow上的许多线程上得到了证实(例如this one)。我也知道Apple说你不应该在UIScrollView中放置UiWebView,因为滚动动作可能会干扰。禁用Web视图的滚动应避免此问题。
有许多线索在讨论这个问题,但它们似乎都不适合我。可以因为我在iOS7上运行吗?
我在这里非常绝望,非常感谢帮助!
答案 0 :(得分: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;
}
答案 1 :(得分:0)
您可以按如下方式获取加载到UIWebView
的内容的高度:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
CGFloat contentHeight = webView.scrollView.contentSize.height;
}
然后相应地调整Web视图的框架。