美死你淘宝优惠券
找色差小游戏
首页 » 技术 » iOS

IOS开发之改变UIWebView文本字体的样式和大小

作者: 怪哈哈小编 来源: 怪哈哈网 日期: 2014-08-21 16:35:10 人气: -

1、UIWebView设置字体大小,颜色,字体:1、UIWebView设置字体大小,颜色,字体:

UIWebView无法通过自身的属性设置字体的一些属性,只能通过html代码进行设置,代码如下:UIWebView无法通过自身的属性设置字体的一些属性,只能通过html代码进行设置,代码如下:

  1. NSString *jsString = [NSString stringWithFormat:@"<html> \n"  
  2.                 "<head> \n"  
  3.                 "<style type=\"text/css\"> \n"  
  4.                 "body {font-size: %f; font-family: \"%@\"; color: %@;}\n"  
  5.                 "</style> \n"  
  6.                 "</head> \n"  
  7.                 "<body>%@</body> \n"  
  8.                 "</html>", fontSize, fontFamily, fontColor, htmlText];  
  9.     [_infoTextView loadHTMLString:jsString baseURL:nil];  
  1. <span style="font-size:14px;">NSString *jsString = [NSString stringWithFormat:@"<html> \n"  
  2.                 "<head> \n"  
  3.                 "<style type=\"text/css\"> \n"  
  4.                 "body {font-size: %f; font-family: \"%@\"; color: %@;}\n"  
  5.                 "</style> \n"  
  6.                 "</head> \n"  
  7.                 "<body>%@</body> \n"  
  8.                 "</html>", fontSize, fontFamily, fontColor, htmlText];  
  9.     [_infoTextView loadHTMLString:jsString baseURL:nil];</span>  


另外也可以通过加载本地的css文件,将格式在css文件中定义,代码如下:

  1. NSString *jsString = [NSString stringWithFormat:@"<html> \n"  
  2.     "<head> \n"  
  3.     "<link href=\"text.css\" rel=\"stylesheet\" type=\"text/css\"> \n"  
  4.     "</style> \n"  
  5.     "</head> \n"  
  6.     "<body>%@</body> \n"  
  7.     "</html>", tempText];  
  8.       
  9.     NSString *path = [[NSBundle mainBundle] bundlePath];  
  10.     NSURL *baseURL = [NSURL fileURLWithPath:path];  
  11.     [infoWebView loadHTMLString:jsString baseURL:baseURL];  
  1. <span style="font-size:14px;">NSString *jsString = [NSString stringWithFormat:@"<html> \n"  
  2.     "<head> \n"  
  3.     "<link href=\"text.css\" rel=\"stylesheet\" type=\"text/css\"> \n"  
  4.     "</style> \n"  
  5.     "</head> \n"  
  6.     "<body>%@</body> \n"  
  7.     "</html>", tempText];  
  8.       
  9.     NSString *path = [[NSBundle mainBundle] bundlePath];  
  10.     NSURL *baseURL = [NSURL fileURLWithPath:path];  
  11.     [infoWebView loadHTMLString:jsString baseURL:baseURL];</span>  


2、计算UIWebView的高度

网上有文章介绍使用如下代码计算高度,但用过后感觉不准确,主要是因为有时候html还没加载完计算就不准确了。

  1. CGFloat height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"] floatValue];  
  1. <span style="font-size:14px;">CGFloat height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"] floatValue];</span>  


后来使用如下方法比较准确,就是加载完成后再去计算,不过有个问题是,第一次计算出来高度同时设置了对应高度后,后面计算的结果会受第一次的结果影响,也就是说高度保持第一次计算的结果。我测试的是第一次是内容较多,后面几次是内容较少,但是高度始终保持第一次的高度,不知如果后面的内容比第一次的多,会不会重新计算还是保持第一次的计算结果。所以保险一点,在每次计算之前,先重设一下高度。

  1. - (void)webViewDidFinishLoad:(UIWebView *)webView  
  2. {  
  3.     const CGFloat defaultWebViewHeight = 22.0;  
  4.     //reset webview size   
  5.     CGRect originalFrame = webView.frame;  
  6.     webView.frame = CGRectMake(originalFrame.origin.x, originalFrame.origin.y, 320, defaultWebViewHeight);  
  7.       
  8.     CGSize actualSize = [webView sizeThatFits:CGSizeZero];  
  9.     if (actualSize.height <= defaultWebViewHeight) {  
  10.         actualSize.height = defaultWebViewHeight;  
  11.     }  
  12.     CGRect webViewFrame = webView.frame;  
  13.     webViewFrame.size.height = actualSize.height;  
  14.     webView.frame = webViewFrame;  
  15.       


转载请注明文章来源(欢迎分享): http://www.guaihaha.com/ios/62.html

夜6在线影视 美死你优惠券网
夜6在线影视

星期一的丰满无广告全集

夜6在线影视

裤袜视界无广告全集

夜6在线影视

监狱学园无广告全集

夜6在线影视

下流梗不存在的灰暗世界无广告全集

关于怪哈哈
怪哈哈是一个集搞笑,美女,动漫,游戏,技术等为核心的综合性网站!
联系我们
商务洽谈、广告合作、友情链接、侵权举报,这些都可以联系我们哦!
关于我们 - 联系我们 - 广告服务 - 免责申明
本站文字和图片均为严格审查筛选收藏,均收集整理于互联网,其著作权归原作者所有,如果有侵犯您权利的照片,请来信告知,我们将及时撤销相应文字和图片.
Copyright @2014-2020 怪哈哈网 All Rights Reserved.
Email:11532954@qq.com