Muh*_*qib 1 iphone objective-c ios5
我在我的UIWebView中打开本地Pdf文件,而不是尝试调整UIWebview的大小,使得WebView高度等于WebView内容高度我正在使用这行代码来获取WebView内容的高度
- (float) getWebViewContentHeight:(UIWebView *)view
{
CGRect aFrame = view.frame;
aFrame.size.height = [view sizeThatFits:[[UIScreen mainScreen] bounds].size].height;
view.frame = aFrame;
return view.frame.size.height;
}
Run Code Online (Sandbox Code Playgroud)
这段代码在iOS 4.3上完美运行,但在iOS 5.0上无法工作,任何人都可以帮助我了解如何获取webView的内容大小或使这段代码适用于iOS 5
访问内容有点棘手,但在这里我将展示2种方法.
1.丑陋的方式
使用JS查询文档属性:
CGSize contentSize = CGSizeMake([[webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollWidth;"] floatValue],
[[webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"] floatValue]);
Run Code Online (Sandbox Code Playgroud)
2.不那么丑陋的方式
UIWebView是一个包含内部的复合对象UIScrollView.从iOS 5.0开始,您可以尝试抓取此滚动视图并contentSize直接使用其属性webView.scrollView.contentSize.如果你需要保持与iOS 4.3及之前的兼容性,你必须做一些黑魔法来获得滚动视图:
UIScrollView* webScrollView = nil;
for ( UIView* subview in [webView subviews] )
{
if ( [subview isKindOfClass:[UIScrollView class]] )
{
webScrollView = (UIScrollView*)subview;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7897 次 |
| 最近记录: |