怎样获取UIWebView 的文字的高度
2011-09-23 17:29
281 查看
1最近自己给记搞了个新问题,一段文字是富文本,有很多的复杂的格式,大写,换行,加粗等等,所以必须用uiwenbview 上来加载html 文件来是这样的功能,但是效果要做的又要像用textview 的一样,即感觉是放在一个textview 上的,但是还有图片和视频,而且这个视频必须在必要的时候可以关掉,这样就想出了一个用uiwebview +uibutton +uiscrollview 来实现这样的功能。
2 问题是uiscrollview 是可以滚动的,uiwebview 也是要滚动的,当uiwebView 在uiscrollview 上面的时候 时不好滚动的,当不能完全显示自己的文字的时候交互特别的不好,所以要一下计算出uiwebview 的实际大小,然后设置其正确 的frame,在然后动态的改变uiscrollview 的contentsize 实现类似textview效果
3 难点是怎样计算要加载的html 文件的大小,研究会发现uiwebview 是有个代理的
- (void)webViewDidFinishLoad:(UIWebView *)webView
可以在加载成功数据之后在里面判断html 的高度和宽度,然后调整uiwebview 的大小
那么怎样获得这个大小呢,改变大小的时机找到了,最关键的问题又回来了。
4uiwebView 的布局结构
它的上面会放一个UIWebDocumentView 我们可以获得这个的大小,然后将它传回,在设置uiwebView 的大小 frame;
下面贴一段代码吧
记得在头文件里加入 <UIWebViewDelegate>,在设置 webView.delegate =self;
去了解控件的组织架构,必要的时刻也是很又用的 。
2 问题是uiscrollview 是可以滚动的,uiwebview 也是要滚动的,当uiwebView 在uiscrollview 上面的时候 时不好滚动的,当不能完全显示自己的文字的时候交互特别的不好,所以要一下计算出uiwebview 的实际大小,然后设置其正确 的frame,在然后动态的改变uiscrollview 的contentsize 实现类似textview效果
3 难点是怎样计算要加载的html 文件的大小,研究会发现uiwebview 是有个代理的
- (void)webViewDidFinishLoad:(UIWebView *)webView
可以在加载成功数据之后在里面判断html 的高度和宽度,然后调整uiwebview 的大小
那么怎样获得这个大小呢,改变大小的时机找到了,最关键的问题又回来了。
4uiwebView 的布局结构
它的上面会放一个UIWebDocumentView 我们可以获得这个的大小,然后将它传回,在设置uiwebView 的大小 frame;
下面贴一段代码吧
- (void)webViewDidFinishLoad:(UIWebView *)webView { CGFloat webViewHeight = 0.0f; if (webView.subviews.count > 0) { UIView *scrollerView = [webView.subviews objectAtIndex: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 的高度 aScrollView.contentSize=CGSizeMake(485, 240+webViewHeight);//调整底层的contensize 的大小 } } } }
记得在头文件里加入 <UIWebViewDelegate>,在设置 webView.delegate =self;
去了解控件的组织架构,必要的时刻也是很又用的 。
相关文章推荐
- 获取UIWebView的内容高度
- UIWebView 获取内容高度
- 最简单也最难——怎样获取到Android控件的高度
- 获取UIWebView的显示内容的高度
- 获取textView内容文字高度
- iOS动态获取UIWebView高度
- iOS 获取UIWebView的高度
- iOS UIWebView 获取内容实际高度,关闭滚动效果
- mac 动态获取文本文字的宽度和高度
- 获取UIWebView的内容高度(精准) - 遇到的坑
- 获取文字高度以及根据label内容来调整label的高度
- 获取一串文字的高度
- IOS开发根据字体大小等获取文字所占的高度
- 获取UILabel上最后一个字符串的位置。获取文字长度和高度,自动换行
- iOS UIWebView 获取内容实际高度,关闭滚动效果
- iOS UIWebView 获取内容实际高度,关闭滚动效果
- GDI 与 GDIPlus 获取文字宽度和高度的方法
- UIWebView如何获取内容高度
- 怎样获取到Android控件的高度
- UIWebView如何获取内容高度