美文网首页
7.富文本总结:

7.富文本总结:

作者: 峰子1994 | 来源:发表于2017-11-03 16:15 被阅读13次

1.前言:

1、NSMutableAttributedString的基本使用
2、NSMutableAttributedString的简易封装
3、使用开源代码GOBMarkupPaser处理富文本
4、UITextKit简介
5、编程思想的相关思考

2.富文本使用的案列:

image.png

3.自己项目中的使用富文本:

1.在IOS或者Mac OS x 通过UIKit提供的用来显示字符串控件的三个:
   UILabel,UITextFiled, UITextView.
然而这些控件本身对文本的展示方式很单一,通常仅仅能够控制字体样式、大小、颜色、加粗、斜体等等,而对于行距控制,字距控制,段落控制等高级功能却无能为力。
2.产生了一个非常强大的文本排版框架coreText.framework
3.coreText.framework的作用:
CoreText框架是基于 iOS 3.2+ 和 OSX 10.5+ 的一种能够对文本格式和文本布局进行精细控制的文本引擎。它良好的结合了 UIKit 和 Core Graphics/Quartz:
4.苹 果引入TextKit的目的并非要取代已有的CoreText框架,虽然CoreText的主要作用也是用于文字的排版和渲染,但它是一种先进而又处于底 层技术,如果我们需要将文本内容直接渲染到图形上下文(Graphics context)时,从性能和易用性来考虑,最佳方案就是使用CoreText。而如果我们需要直接利用苹果提供的一些控件(如UITextView、 UILabel和UITextField等)对文字进行排版,那么借助于UIKit中TextKit提供的API无疑更为方便快捷。

4.IOS之NSMutableAttributedString 使用详解:

1.富文本的注意:
      <1>.先设置的先显示,后设置的,后显示。如果和先设置的样式不一致,是会覆盖的,富文本的设置具有先后顺序
       <2>.不要忽略了空格也是一个字符
       <3>.建议使用灵活的好用的NSMutableStringAttrubutedString,不要NSAttributString。
2. 富文本基本使用方法思路概要
       <1> 创建一NSMutableAttributeString富文本对象,一般不使用NSAttributeString
      <2>设置addAttribute属性:
            <1>addAttribute: 一个属性
            <2>addAttributes:一个存储多个属性和属性字典,比如这个字典可以是:
            NSDictionary *attrDic = @{
                 NSFontAttributeName:[UIFont fontwithNanme:@"zapinof" size:15],
                 NSForgroundColorAttributeName:[UIColor blueColor];
            }
      <3> .attributeText = 富文本对象(和控件.text = NSString文本对象不一样)
     实例富文本使用过程:
image.png

其中AttributedString 究竟可以设置那些属性,具体来说,有以下21个:

NSFontAttributeName                设置字体属性,默认值:字体:Helvetica(Neue) 字号:12
NSForegroundColorAttributeNam      设置字体颜色,取值为 UIColor对象,默认值为黑色
NSBackgroundColorAttributeName     设置字体所在区域背景颜色,取值为 UIColor对象,默认值为nil, 透明色
NSLigatureAttributeName            设置连体属性,取值为NSNumber 对象(整数),0 表示没有连体字符,1 表示使用默认的连体字符
NSKernAttributeName                设定字符间距,取值为 NSNumber 对象(整数),正值间距加宽,负值间距变窄
NSStrikethroughStyleAttributeName  设置删除线,取值为 NSNumber 对象(整数)
NSStrikethroughColorAttributeName  设置删除线颜色,取值为 UIColor 对象,默认值为黑色
NSUnderlineStyleAttributeName      设置下划线,取值为 NSNumber 对象(整数),枚举常量 NSUnderlineStyle中的值,与删除线类似
NSUnderlineColorAttributeName      设置下划线颜色,取值为 UIColor 对象,默认值为黑色
NSStrokeWidthAttributeName         设置笔画宽度,取值为 NSNumber 对象(整数),负值填充效果,正值中空效果
NSStrokeColorAttributeName         填充部分颜色,不是字体颜色,取值为 UIColor 对象
NSShadowAttributeName              设置阴影属性,取值为 NSShadow 对象
NSTextEffectAttributeName          设置文本特殊效果,取值为 NSString 对象,目前只有图版印刷效果可用:
NSBaselineOffsetAttributeName      设置基线偏移值,取值为 NSNumber (float),正值上偏,负值下偏
NSObliquenessAttributeName         设置字形倾斜度,取值为 NSNumber (float),正值右倾,负值左倾
NSExpansionAttributeName           设置文本横向拉伸属性,取值为 NSNumber (float),正值横向拉伸文本,负值横向压缩文本
NSWritingDirectionAttributeName    设置文字书写方向,从左向右书写或者从右向左书写
NSVerticalGlyphFormAttributeName   设置文字排版方向,取值为 NSNumber 对象(整数),0 表示横排文本,1 表示竖排文本
NSLinkAttributeName                设置链接属性,点击后调用浏览器打开指定URL地址
NSAttachmentAttributeName          设置文本附件,取值为NSTextAttachment对象,常用于文字图片混排
NSParagraphStyleAttributeName      设置文本段落排版格式,取值为 NSParagraphStyle 对象

5.使用开源代码GOBMarkupPaser处理富文本

首先,关于开源代码GOBMarkupPaser处理富文本有一个很好的学习博客:http://www.cnblogs.com/YouXianMing/p/4269213.html也是框架原开发者github博文的翻译。值得英语不好的学习。

github描述的虽然比较多,但是用起来还是比较容易的。下面只要跑一下程序,源码中也有demo,先看看源码运行的程序效果:
image.png
因为这个开源代码GONMarkupParser处理富文本比较方便,所以以后开发项目建议使用。
百度云下载链接: http://pan.baidu.com/s/1qWnFgQw 密码: m2pe

6.UITextKit简介:

什么是UITextKit?
TextKit是在iOS7中新出的,实现了对CoreText的封装,使用起来更加方便.
虽然是新出的,但也不代表立马就能上手-_-!!,TextKit可以实现图文混排效果,很好用.
实现的过程如下:
storage --> layoutManager --> textContainer --> textView
这.....显示一串文本就要做这么多的事情.....
一下图中代码实例是实现 高亮某些文本:
image.png

相关文章

  • 7.富文本总结:

    1.前言: 2.富文本使用的案列: 3.自己项目中的使用富文本: 4.IOS之NSMutableAttribute...

  • 富文本总结

    设置某一段文字的颜色 NSForegroundColorAttributeName va...

  • CommitContentSampleIME——编写向文本字段发

    Android富文本开发总结 此示例演示了如何利用 Commit Content API 编写向文本字段发送富媒体...

  • iOS富文本(标签里显示文字和图片)(一)

    本文首发地址系列文章如下iOS富文本(富文本显示和计算高度)(二) 富文本编辑,先来一篇最简单的。最后在来一个总结...

  • flutter 文本widget

    文本文本 富文本富文本

  • 富文本用法总结

    富文本比较常用到,每次都是搜一堆要不就是翻之前的代码好烦,抽空整理一下自己使用过的富文本,各种变色设置行间距什么的...

  • 富文本

    在实际的应用开发中经常需要使用到富文本,这里总结经常使用到的富文本属性方便学习与记忆 NSFontAttribut...

  • CommitContentSampleApp——富文本

    Android富文本开发总结 此示例演示了如何利用 Commit Content API 编写接受通过键盘发送的富...

  • iOS 图文混排

    创建label 创建富文本 创建图片文本 富文本添加图片 图片和文字居中对齐 图片文本加入富文本中 图片插入文本中...

  • Angular4中显示富文本内容

    private makeData(){ this.content=" 富文本测试 " + "富文本测试富...

网友评论

      本文标题:7.富文本总结:

      本文链接:https://www.haomeiwen.com/subject/srvtmxtx.html