我需要在UIScrollView
中添加UIWebView
、一些按钮和标签。我看过很多关于如何在UIScrollView
中添加UIWebView
的问题,但不幸的是它们都不能帮助我完成任务。所以请不要将其标记为重复或其他内容。
理论上,可以通过以下步骤解决问题:
1)将UIWebView
设置为UIScrollView
的子视图。
2)调用setScrollEnabled:NO
来禁用UIWebView
的本地滚动。
3)将UIScrollView
和UIWebView
的内容大小设置为加载在UIWebview
中的HTML字符串的大小。
我正在使用iOS 6和StoryBoards。我已经将UIWebView
添加为UIScrollView
的子视图。
然后在我的webViewDidFinishLoad
中,我使用了以下代码:
NSString *webHeight = [webView stringByEvaluatingJavaScriptFromString:@"document.height;"];
NSLog(@"WebView Height %@", webHeight);
这给了我WebView的高度。
在StackOverFlow上,我看到了以下内容。
CGRect frame = webView.frame;
frame.size.height = 1;
webView.frame = frame;
CGSize fittingSize = [webView sizeThatFits:CGSizeZero];
frame.size = fittingSize;
webView.frame = frame;
NSLog(@"size: %f, %f", fittingSize.width, fittingSize.height);
然后我将UIScrollView
的大小设置为UIWebView
的大小:
mainScrollView.contentSize = webView.bounds.size;
我可以滚动到底部,但底部有一个白色空间,
UIWebView
的大小没有根据已加载的HTML内容的大小进行调整。看起来
UIScrollView
已经将其大小更改为UIWebView
内容的大小,但是UIWebView
并未显示所有内容。我该如何解决这个问题?请不要建议我使用苹果文档中提到的不应在
UIScrollView
内部使用UIWebView
。 我已经知道这一点,但出于我的项目要求,我想使用它。