ios webview自适应实际内容高度4种方法

//第一种方法

- (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
的高度

}

}

}

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-14 13:56:05

ios webview自适应实际内容高度4种方法的相关文章

IOS开发中数据持久化的几种方法--NSUserDefaults

IOS开发中数据持久化的几种方法--NSUserDefaults IOS 开发中,经常会遇到需要把一些数据保存在本地的情况,那么这个时候我们有以下几种可以选择的方案: 一.使用NSUserDefault是最简单直接的一个办法: 1)保存数据: 1 // 实例化一个NSUserDefaults单例对象 2 NSUserDefaults *user = [NSUserDefaults standardUserDefaults]; 3 // 把一个数组array保存在key为allContact的键值

CSS中隐藏内容的3种方法

CSS中隐藏内容的3种方法 一般有:隐藏文本/图片.隐藏链接.隐藏超出范围的内容.隐藏弹出层.隐藏滚动条.清除错位和浮动等. 1.使用display:none来隐藏所有内容 display:none可以让网页中所有内容不显示,如代码.文字.链接.图片.div层,是推荐的内容隐藏方式. <div style="display:none;">隐藏内容</div> 值 描述 none 此元素不会被显示. block 此元素将显示为块级元素,此元素前后会带有换行符. i

iOS开发之动画编程的几种方法

iOS开发之动画编程的几种方法 IOS中的动画总结来说有五种:UIView<block>,CAAnimation<CABasicAnimation,CATransition,CAKeyframeAnimation>,NSTimer 这里我就总结了一下这五种方法,其实iOS开发中动画的编程都会在这里面变化,所以只要弄懂了这些动画编程就不难了. 一:UIView动画 一般方式 [UIView beginAnimations:@"ddd" context:nil];/

获取母版页的相关内容有两种方法 --全了

获取母版页的相关内容有两种方法 1 通过findcontrol找控件ID需要在此事件中~因为Page_load中时是先内容页加载然后才是母版页加载    protected void Page_LoadComplete(object sender, EventArgs e)    {        Label2.Text = "现在时间是" + (Master.FindControl("Label1") as Label).Text;        if (Requ

javascript 判断数组中的重复内容的两种方法 by FungLeo

javascript 判断数组中的重复内容的两种方法 by FungLeo 前言 一般,我们可能会给数组去重,这个操作并不复杂,执行一个循环就是了.现在,我要做的是,判断数组中是否有重复的内容,如果有,返回 true 否则,返回 false. 思路 把数组变成字符串 循环原数组,拿每一个字段和这个字符串进行比对,看是否有重复 如何拿A字符串和B字符串进行对比,并且要求判断出B字符串中包含过个A字符串呢? 方法一 indexOf() 和 lastIndexOf() 对比法. 首先,我们构建代码:

iOS键盘中英文切换键盘高度获取通知方法

iOS键盘中英文切换键盘高度获取通知方法, 有需要的朋友可以参考下. 注册通知 - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotific

B.php中读取文件内容的几种方法

php中读取文件内容的几种方法 1.fread string fread ( int $handle , int $length ) fread() 从 handle 指向的文件中读取最多 length 个字节.该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况. fread() 返回所读取的字符串,如果出错返回 FALSE. <?php $filename

linux中快速清空文件内容的几种方法

这篇文章主要介绍了linux中快速清空文件内容的几种方法,需要的朋友可以参考下 $ : > filename $ > filename $ echo "" > filename $ echo > filename $ cat /dev/null > filename 原文地址:https://www.cnblogs.com/lxwphp/p/9565572.html

Linux下快速清空文件内容的三种方法

Linux下快速清空文件内容的三种方法在Linux环境中,我们如果想快速清空一个文件或者log的内容: 1.#echo "" > test.txt(文件大小被截为1字节) 2.# > test.txt(文件大小被截为0字节) 3.#cat /dev/null > /home/test.txt(文件大小被截为0字节)————————————————版权声明:本文为CSDN博主「贾维斯博客」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声