iOS开发之富文本(图文混排)(全)
设置富文本所有的key(共21种)
文章图片
文章图片
文章图片
NSMutableAttributedString*abs = [[NSMutableAttributedString alloc] initWithString:text];
1、NSFontAttributeName (value是UIFont对象): 文本大小
文章图片
文本大小
文章图片
2、NSParagraphStyleAttributeName(value是NSParagraphStyle对象) : 段落风格(设置首行,行间距,对齐方式什么的)
文章图片
文章图片
富文本:
文章图片
段落风格
文章图片
3、NSForegroundColorAttributeName(value是UIColor对象) : 文本颜色
文章图片
文本颜色
文章图片
4、NSBackgroundColorAttributeName(value是UIColor对象) : 文本背景色
文章图片
文本背景色
文章图片
5、NSLigatureAttributeName (value是NSNumber对象): 设置为文本连体
文章图片
连体
文章图片
flush
文章图片
fiush 6、NSKernAttributeName (value是NSNumber对象): 字符间隔(文字间距)
【iOS开发之富文本(图文混排)(全)】字符间距正值间距加宽,负值间距变窄
文章图片
字符间距
文章图片
7、NSStrikethroughStyleAttributeName (value是NSNumber对象): 文本添加删除线(单删除线、双删除线)
文章图片
删除线
文章图片
1
文章图片
7
文章图片
9
文章图片
15 8、NSUnderlineStyleAttributeName (value是NSNumber对象): 文本设置下划线
typedefNS_ENUM(NSInteger, NSUnderlineStyle) {
NSUnderlineStyleNone=0x00,
NSUnderlineStyleSingle=0x01,
NSUnderlineStyleThickNS_ENUM_AVAILABLE(10_0,7_0)=0x02,
NSUnderlineStyleDoubleNS_ENUM_AVAILABLE(10_0,7_0)=0x09,
NSUnderlinePatternSolidNS_ENUM_AVAILABLE(10_0,7_0)=0x0000,
NSUnderlinePatternDotNS_ENUM_AVAILABLE(10_0,7_0)=0x0100,
NSUnderlinePatternDashNS_ENUM_AVAILABLE(10_0,7_0)=0x0200,
NSUnderlinePatternDashDotNS_ENUM_AVAILABLE(10_0,7_0)=0x0300,
NSUnderlinePatternDashDotDotNS_ENUM_AVAILABLE(10_0,7_0) =0x0400,
NSUnderlineByWordNS_ENUM_AVAILABLE(10_0,7_0)=0x8000
} NS_ENUM_AVAILABLE(10_0, 6_0);
文章图片
下划线
文章图片
9、NSStrokeColorAttributeName(value是UIColor对象) : 设置文本描边颜色
文章图片
描边宽度和描边颜色
文章图片
描边宽度=2
文章图片
描边宽度=-2 10、NSStrokeWidthAttributeName (value是NSNumber对象):设置描边宽度,和NSStrokeColorAttributeName同时使用能使文字空心
文章图片
单独设置描边宽度
文章图片
描边宽度=2
文章图片
描边宽度=-2 11、NSShadowAttributeName(value是NSShadow对象) : 设置文本阴影,单独设置好用的(11.4系统),下面的观点是查资料的,可能和系统有关吧
/*
(单独设置不好使,必须和其他属性搭配才好使)
和这三个任一个都好使,NSVerticalGlyphFormAttributeName,NSObliquenessAttributeName,NSExpansionAttributeName)
*/
文章图片
文字阴影
文章图片
没有模糊度
文章图片
有模糊度 12、NSTextEffectAttributeName(value是NSString) : 设置文本特殊效果
目前只有一个可用效果NSTextEffectLetterpressStyle(凸版印刷效果)
文章图片
复合效果
文章图片
13、NSAttachmentAttributeName (value是NSTextAttachment对象):设置文本附件,常用于图文混排
文章图片
图片加在文字后面
文章图片
文章图片
图片插入文字的任何位置,可以重复加入图片
文章图片
14、NSLinkAttributeName (value是NSURL or NSString):链接
不能在UILabel和UITextField使用,只能用UITextView来进行,实现他的代理,在代理方法里面进行URL跳转
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange
//该方法返回YES就能打开URL,NO不做任何事情
上面的方法已经弃用了,取而代之的是下面的方法:
- (BOOL)textView:(UITextView*)textView shouldInteractWithURL:(NSURL*)URL inRange:(NSRange)characterRange interaction:(UITextItemInteraction)interaction
注:
1.一定要实现UITextView的代理才能进行URL跳转
2.textView的editable属性修改为NO,在编辑时不可点击
文章图片
value是NSURL对象
文章图片
字号25
文章图片
字号28 15、NSBaselineOffsetAttributeName (value是NSNumber对象):文字基线偏移
文章图片
基线偏移
文章图片
16、NSUnderlineColorAttributeName (value是UIColor对象):下划线颜色
文章图片
下划线颜色
文章图片
17、NSStrikethroughColorAttributeName (value是UIColor对象):删除线颜色
文章图片
删除线颜色
文章图片
18、NSObliquenessAttributeName (value是NSNumber对象):设置字体倾斜度
文章图片
文本倾斜
文章图片
19、NSExpansionAttributeName(value是NSNumber对象):设置字体的横向拉伸
文章图片
横向拉伸
文章图片
20、NSWritingDirectionAttributeName(value是NSNumber对象):设置文字书写方向,从左向右书写或者从右向左书写
//LRE: NSWritingDirectionLeftToRight|NSWritingDirectionEmbedding,
RLE: NSWritingDirectionRightToLeft|NSWritingDirectionEmbedding,
LRO: NSWritingDirectionLeftToRight|NSWritingDirectionOverride,
RLO: NSWritingDirectionRightToLeft|NSWritingDirectionOverride,
文章图片
书写方向
文章图片
21、NSVerticalGlyphFormAttributeName(value是NSNumber对象):设置文字排版方向
0为水平排版的字,1为垂直排版的字。注意,在iOS中, 总是以横向排版
文章图片
排版方向
文章图片
推荐阅读
- 开学第一天(下)
- 20170612时间和注意力开销记录
- 深入理解Go之generate
- 开花店的前景怎么样()
- 眉头开了
- 上班后阅读开始变成一件奢侈的事
- 2020-04-07vue中Axios的封装和API接口的管理
- 小影写在2018九月开学季
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 从蓦然回首到花开在眼前,都是为了更好的明天。