ios webview自适应实际内容高度4种方法
2015-08-20 23:20
579 查看
//第一种方法
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
CGFloat webViewHeight=[webView.scrollView
contentSize].height;
CGRect newFrame = webView.frame;
newFrame.size.height = webViewHeight;
webView.frame = newFrame;
_webTablewView.contentSize =
CGSizeMake(320, newFrame.size.height +
64 + KWIDTH -
100);
}
//2.执行js语句 直接获取html文档的dom高度
- (void)webViewDidFinishLoad:(UIWebView *)webView{
CGFloatwebViewHeight =[[webViewstringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"]floatValue];
// CGFloat webViewHeight= [[webViewstringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"]floatValue];
CGRectnewFrame = webView.frame;
newFrame.size.height= webViewHeight;
webView.frame= newFrame;
}
//方法3.先将UIWebView的高度设为最小,然后再使用sizeThatFits就会返回刚好合适的大小
-(void)webViewDidFinishLoad:(UIWebView*)webVie{
CGSize actualSize = [webView
sizeThatFits:CGSizeZero];
CGRect newFrame = webView.frame;
newFrame.size.height = actualSize.height;
webView.frame = newFrame;
}
//方法4.遍历webview子视图 获取UIWebDocumentView高度即实际高度
-(void)webViewDidFinishLoad:(UIWebView *)webView{
CGFloat webViewHeight =
0.0f;
if([webView.subviews
count] > 0)
{
UIView *scrollerView = webView.subviews[0];
if([scrollerView.subviews
count] >
0)
{
UIView *webDocView = scrollerView.subviews.lastObject;
if ([webDocView
isKindOfClass:[NSClassFromString(@"UIWebDocumentView")class]])
{
webViewHeight = webDocView.frame.size.height;//获取文档的高度
webView.frame=webDocView.frame;
//更新UIWebView
的高度
}
}
}
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
CGFloat webViewHeight=[webView.scrollView
contentSize].height;
CGRect newFrame = webView.frame;
newFrame.size.height = webViewHeight;
webView.frame = newFrame;
_webTablewView.contentSize =
CGSizeMake(320, newFrame.size.height +
64 + KWIDTH -
100);
}
//2.执行js语句 直接获取html文档的dom高度
- (void)webViewDidFinishLoad:(UIWebView *)webView{
CGFloatwebViewHeight =[[webViewstringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"]floatValue];
// CGFloat webViewHeight= [[webViewstringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"]floatValue];
CGRectnewFrame = webView.frame;
newFrame.size.height= webViewHeight;
webView.frame= newFrame;
}
//方法3.先将UIWebView的高度设为最小,然后再使用sizeThatFits就会返回刚好合适的大小
-(void)webViewDidFinishLoad:(UIWebView*)webVie{
CGSize actualSize = [webView
sizeThatFits:CGSizeZero];
CGRect newFrame = webView.frame;
newFrame.size.height = actualSize.height;
webView.frame = newFrame;
}
//方法4.遍历webview子视图 获取UIWebDocumentView高度即实际高度
-(void)webViewDidFinishLoad:(UIWebView *)webView{
CGFloat webViewHeight =
0.0f;
if([webView.subviews
count] > 0)
{
UIView *scrollerView = webView.subviews[0];
if([scrollerView.subviews
count] >
0)
{
UIView *webDocView = scrollerView.subviews.lastObject;
if ([webDocView
isKindOfClass:[NSClassFromString(@"UIWebDocumentView")class]])
{
webViewHeight = webDocView.frame.size.height;//获取文档的高度
webView.frame=webDocView.frame;
//更新UIWebView
的高度
}
}
}
}
相关文章推荐
- iOS笔记--百度地图环境配置
- Objective-C 苹果开发文档 07 Values and Collections
- 微信app支付问题
- Android WiFi 应用程序例子
- 【Android高级】应用开发必须要掌握的框架<Volley>
- Swift详解之四-------妈妈再也不用担心我的闭包了
- Android WiFi系统
- 史上最详细的Android Studio系列教程四--Gradle基础
- android之设置app背景图片
- iOS之项目管理---25个Git进阶技巧
- iOS/Mac开发中各种锁的使用
- Android学习之压缩图片到指定大小
- ios-界面之间传值
- 网页视图 UIWebView
- [Android]通过js方法回调部分native报错 Web Console: Uncaught TypeError: Object [object Object] has no method 'xxx'
- android studio使用中遇到的问题记录
- Android学习之Bitmap对象与字节数组相互转换
- swift中!与?的用法的个人理解
- Android学习之利用BitmapFactory工厂压缩图片
- QT事件过滤器(QT事件处理的5个层次:自己覆盖或过滤,父窗口过滤,Application过滤与通知)