iOS富文本(NSAttributedString)---尽力弄全了

把简书文章搬过来 
最近浮躁,毛线都没写,不断有人关注点赞我,必须总结点干货了。

项目上要加载html格式的文本,学习一下富文本相关内容。

1.加载HTML标签文本

因为解析的数据里面有html标签,就使用下面的代码把字符串转换成data,初始化时再用HTML类型,转换为富文本。

 
  • 1

参数options里面的字典有三对key value

文档类型NSDocumentTypeDocumentAttribute

 
  • 1
  • 2
  • 3
  • 4

编码格式NSCharacterEncodingDocumentAttribute

 
  • 1

默认NSDefaultAttributesDocumentAttribute

这个不知道对应的value是什么

2.富文本总结

这是富文本的所有属性

属性Name 干啥的 类型
NSFontAttributeName 字号 UIFont 默认12
NSParagraphStyleAttributeName 段落样式 NSParagraphStyle
NSForegroundColorAttributeName 前景色 UIColor
NSBackgroundColorAttributeName 背景色 UIColor
NSObliquenessAttributeName 字体倾斜 NSNumber
NSExpansionAttributeName 字体加粗 NSNumber 比例 0就是不变 1增加一倍
NSKernAttributeName 字间距 CGFloat
NSUnderlineStyleAttributeName 下划线 1或0
NSUnderlineColorAttributeName 下划线颜色 UIColor
NSStrikethroughStyleAttributeName 删除线 1或0
NSStrikethroughColorAttributeName 删除线颜色 UIColor
NSStrokeColorAttributeName same as ForegroundColor UIColor
NSStrokeWidthAttributeName 字体描边 CGFloat
NSLigatureAttributeName 连笔字 没看出效果 1或0
NSShadowAttributeName 阴影 NSShawdow
NSTextEffectAttributeName 设置文本特殊效果,目前只有图版印刷效果可用 NSString
NSAttachmentAttributeName 设置文本附件,常用插入图片 NSTextAttachment
NSLinkAttributeName 链接 NSURL (preferred) or NSString
NSBaselineOffsetAttributeName 基准线偏移 NSNumber
NSWritingDirectionAttributeName 文字方向 分别代表不同的文字出现方向等等,我想你一定用不到它 - - @[@(1),@(2)]
NSVerticalGlyphFormAttributeName 水平或者竖直文本 在iOS没卵用,不支持竖版 1竖直 0水平

解释一下其中的三个类型

段落样式

段落样式主要改行距、段距、首行缩进、最大最小行高、多倍行距等十几个属性,把这些总结了你就比我更全..

 
  • 1
  • 2
  • 3
  • 4
  • 5

阴影

就三属性,不用解释了

 
  • 1
  • 2
  • 3
  • 4
  • 5

附件

这个我的也没显示出来,想钻研的看这里http://www.jianshu.com/p/5babe8b7983e

 
  • 1
  • 2
  • 3
  • 4

下面是我的富文本代码,可以copy过去直接试

 

你可能感兴趣的:(iOS富文本(NSAttributedString)---尽力弄全了)