01、使用UIWebView调整行距

添加 UIWebView,并对 WebView 应用如下代码:

//下面两行协助 UIWebView 背景透明化,这两属性可以在 xib 中进行设置

webview.backgroundColor = [UIColorclearColor];  //但是这个属性必须用代码设置,光 xib 设置不行

webview.opaque =NO;

//这行能在模拟器下明下加快 loadHTMLString 后显示的速度,其实在真机上没有下句也感觉不到加载过程

webview.dataDetectorTypes =UIDataDetectorTypeNone;

//下面的 backgroud-color:transparent 结合最前面的两行代码指定的属性就真正使得 WebView 的背景透明了

//而后的 font:16px/18px 就是设置字体大小为 16px, 行间距为 18px,也可用  line-height: 18px 单独设置行间距

//最后的 Custom-Font-Name 就是前面在项目中加上的字体文件所对应的字体名称了

NSString*webviewText = @"<style>body{margin:0;background-color:transparent;font:16px/18px Custom-Font-Name}</style>";

NSString*htmlString = [webviewText stringByAppendingFormat:@"%@", textview.text];

[webview loadHTMLString:htmlString baseURL:nil];//在 WebView 中显示本地的字符串

执行之后显示的就是第一个图中的效果了。有可能出现在 iOS4 下背景未能透明化的问题,是可能,我有碰到过,也许哪里设置的问题。

注意,很重要的一点,上面 iOS4 下背景可能不透明的情况是因为:虽然可以在 xib 中对 UIWebView 设置它的 backgroundColor 为 clearColor,但是 Xcode 似乎不怎么认账,所以必须在代码中用 webview.backgroundColor = [UIColor clearColor]; 设置 UIWebView 的背景才成,opaque 在 xib 还是在代码中设置都行。

另外,也可以用  background-color: rgba(0,0,0,0) 样式,最后一个 0 表示 Alpha 值,即完全透明,甚至是用 background-color:hsla(120,50%,50%,0) 也是可行的。

对于 UIWebView 来说,你能够应用 HTML5 很多特性,所以不要求有很规范的 HTML 格式,像无需写成 <html><head>....... 那样。

尝试了用 @font-face 来使用自定义字体,未能成功,再就是对 UIWebView 的用户交互及滚动条风格调一调,可让它更像是个 UITextView,完全的代替 UITextView 来显示一段文字某些地方有可能仍需作微调。

02、UITextView 和UILable 设置行间距

UITextView 和UILable它本身是没有控制行高的。很多人说用Uiwebview,但我觉得那不好用,要用html布局麻烦,占内存。也有人说drawatpoint,但

发现画中文的时候也很占内存,我就投机取巧一下吧

UILable 跟下面的用法一样的自己改一下

[plain]  viewplaincopy
  1. //  DrawAtPoint
  2. //
  3. //  Created by xia kejie on 12-5-13.
  4. //  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
  5. //
  6. #import "ViewController.h"
  7. #define LINENUM 20    //每行字数
  8. #define LINEHEIGHT 30 //行高
  9. @interface ViewController ()
  10. @end
  11. @implementation ViewController
  12. - (void)viewDidLoad
  13. {
  14. int begin=0;
  15. NSString *partialString;
  16. [super viewDidLoad];
  17. NSString* str=@"东南形胜,三吴都会,钱塘自古繁华。烟柳画桥,风帘翠幕,参差十万人家。云树 绕堤沙,怒涛卷霜雪,天堑无涯。市列珠玑,户盈罗绮,竞豪奢。重湖叠清嘉,有三秋桂子,十里荷花。羌管弄晴,菱歌泛夜,嬉嬉钓叟莲娃。千骑拥高衙,乘醉听箫鼓,吟赏烟霞。异日图将好景,归去凤池夸。云树 绕堤沙,怒涛卷霜雪,天堑无涯。市列珠玑,户盈罗绮,竞豪奢。重湖叠清嘉,有三秋桂子,十里荷花。羌管弄晴,菱歌泛夜,嬉嬉钓叟莲娃。千骑拥高衙,乘醉听箫鼓,吟赏烟霞。异日图将好景,归去凤池夸。";
  18. int num = str.length/LINENUM;
  19. NSLog(@"%d",str.length);
  20. NSLog(@"%d",num);
  21. for (int i=0; i<=num; i++) {
  22. UITextView* textview=[[UITextView alloc]init];
  23. NSLog(@"%d-----",begin);
  24. if(i==num)
  25. partialString=[str substringWithRange:NSMakeRange(begin,str.length%LINENUM)];
  26. else
  27. partialString=[str substringWithRange:NSMakeRange(begin,LINENUM)];
  28. textview.backgroundColor=[UIColor clearColor];
  29. textview.text=partialString;
  30. textview.frame=CGRectMake(0, 30+i*LINEHEIGHT, 300, 30);
  31. [self.view addSubview:textview];
  32. begin+=LINENUM;
  33. NSLog(@"%@",partialString);
  34. }
  35. // Do any additional setup after loading the view, typically from a nib.
  36. }

UIWebView、UITextView 和UILable 设置行间距相关推荐

  1. android webview设置行间距,通过webview设置字体的行间距

    有时候可用 UIWebView 代替 UITextView,解决行间距问题 2011-12-10 - Unmi 我们在使用 UILabel 或是 UITextView 时,如果文字出现了换行,目前我还 ...

  2. UILabel设置行间距之后的自适应高度

    2019独角兽企业重金招聘Python工程师标准>>> 参考文章:http://blog.sina.com.cn/s/blog_836919db0102w3v9.html //设置行 ...

  3. Android TextView中图文混排设置行间距导致高度不一致问题解决

    Android TextView中图文混排设置行间距导致高度不一致问题解决 参考文章: (1)Android TextView中图文混排设置行间距导致高度不一致问题解决 (2)https://www. ...

  4. 设置行间距_Word涨薪第五十四式:解决无法调整行间距的情况

    昨天很多人是关闭了Word的改写模式,看来很多人深受其害,不是重新敲击一遍,就是关闭又打开.现在好了,关闭改写模式之后再也不烦恼了. 昨天又出现新的问题,要跟小伙伴们分享了.复制不同网页上的文字,最后 ...

  5. 设置行间距_word打印技巧:几个节省纸张的打印设置方法

    编按:当Word文档制作好之后,打印文档便是接下来最常用的技能了.一般来说,打印Word文档只需要点击"打印"按钮即可.但有时,为了节约用纸,可以用以下几个方法来打印文档! *** ...

  6. 如何设置行间距和字间距?

    设置行间距和字之间的距离需要用到css样式.用line-height设置行间距:用letter-spacing设置字间距.具体如下: <!DOCTYPE HTML> <html> ...

  7. latex如何设置行间距和段间距

    latex如何设置行间距和段间距 设置全文行间距: \usepackage{setspace} \setstretch{1.2} 设置全文段落间距: \usepackage{setspace} \se ...

  8. QTableView 设置行间距

    一直不满意QTableView的行间距,老是觉得太臃肿,空格太多,就像下图这样: 希望能调整成这样: 经过几天的尝试,不断的尝试,终于解决了,所以才有了此文,希望能对后来者有帮助: 方法 1.设置st ...

  9. qt QLabel设置行间距

    QString text; text.append("<p style='line-height:70%'> 完美适配,一键漂移,领取惊喜宝箱.</p>") ...

最新文章

  1. SQL Server 任务监控脚本
  2. 软考中项学习之路--在路上
  3. mount -t 挂载指定的文件格式
  4. Zookeeper的作用
  5. 数据结构——快速排序(使用Java)
  6. lodop指定打印机打印_GitHub - xtjatswc/formext: 基于Lodop封装的打印框架,支持表单、报表配置。...
  7. android获取button宽度,android – 如何获得Button的高度和宽度
  8. 给数据表中的字段添加约束
  9. 腾讯视频网页下载_腾讯视频怎么下载视频
  10. ::before 和 ::after 伪元素用法
  11. python面试题之Python支持什么数据类型?
  12. windows常见快捷键
  13. python中format函数用法简书_Python format 格式化函数
  14. Haproxy-1.5.x SSL配置
  15. 《Head First Java》| 1 进入Java 的世界
  16. 将yyyyMMdd转成yyyy-MM-dd格式和yyyy-MM-dd格式转成yyyyMMdd
  17. Ubuntu 下用tar 命令打包文件
  18. keras版yolov3绘制acc和loss曲线
  19. win764位不能改计算机名,win7 64位旗舰版系统无法修改MAC的原因和解决
  20. carsim软件教学

热门文章

  1. 实验三:凸包(输入点坐标计算凸包坐标)
  2. Word如何插入图片?最全方法总结(2023新版)
  3. 如何在Google表格中直接使用Google翻译
  4. 一文搞懂 USB 设备端驱动框架
  5. NX二次开发 获取曲面上点在面上的垂直矢量方向
  6. 旅游评论文本数据,bert分类,加完整的论文
  7. 安卓设备互相投屏_安卓投屏电脑版-安卓投屏下载v7.9.1-IE浏览器中文网站
  8. 搞笑的chitgpt
  9. 模型评估与改进(三)// 评估指标
  10. 【css】fa图标变细