富文本-iOS

NSAttributedString共有21种效果

核心API:
NSAttributedString
NSMutableAttributedString

三种初始化方法:

NSAttributedString
1、initWithString:
2、initWithString:attributes:
3、initWithAttributedString:

NSMutableAttributedString没有初始化方法,使用父类初始化方法

序号 属性 作用 类型 备注
1 NSFontAttributeName 设置字体属性 UIFont 默认值:字体:Helvetica(Neue) 字号:12
2 NSForegroundColorAttributeName 设置字体颜色 UIColor 默认值为黑色
3 NSBackgroundColorAttributeName 设置字体所在区域背景颜色 取值为 UIColor对象 默认值为nil
4 NSLigatureAttributeName 设置连体属性 NSNumber 0 表示没有连体字符,1 表示使用默认的连体字符,一般中文用不到,在英文中可能出现相邻字母连笔的情况
5 NSKernAttributeName 设置字符间距 NSNumber 正值间距加宽,负值间距变窄,0表示禁用了字距调整。
6 NSParagraphStyleAttributeName 设置文本段落排版格式 NSParagraphStyle 默认defaultParagraphStyle
7 NSStrikethroughStyleAttributeName 删除线 NSNumber 默认0:无删除
8 NSStrikethroughColorAttributeName 设置删除线颜色 UIColor 默认值为黑色
9 NSUnderlineStyleAttributeName 设置下划线 NSNumber NSUnderlineStyle中的值,与删除线类似,默认0:无下划线
10 NSUnderlineColorAttributeName 设置下划线颜色 UIColor 默认值为黑色
11 NSStrokeWidthAttributeName 设置笔画宽度(粗细) NSNumber 负值填充效果,正值中空效果,(概述文本的典型值为3.0)
12 NSStrokeColorAttributeName 填充部分颜色,不是字体颜色 UIColor 默认nil
13 NSShadowAttributeName 设置阴影属性 NSShadow
14 NSTextEffectAttributeName 设置文本特殊效果 NSString 默认nil:无文本效果,目前只有图版印刷效果可用
15 NSBaselineOffsetAttributeName 设置基线偏移值 NSNumber 默认为0,正值上偏,负值下偏
16 NSObliquenessAttributeName 设置字形倾斜度 NSNumber 正值右倾,负值左倾,默认0:无倾斜
17 NSExpansionAttributeName 设置文本横向拉伸属性 NSNumber 正值横向拉伸文本,负值横向压缩文本,默认0:没有拉伸
18 NSWritingDirectionAttributeName 设置文字书写方向 NSNumber 从左向右书写或者从右向左书写
19 NSVerticalGlyphFormAttributeName 设置文字排版方向 NSNumber 0 表示横排文本,1 表示竖排文本,目前在iOS上,它总是水平的。任何其他值的行为都是未定义的。
20 NSAttachmentAttributeName 设置文本附件 NSTextAttachment 常用于文字图片混排,默认nil
21 NSLinkAttributeName 设置链接属性,点击后调用浏览器打开指定URL地址 NSURL 点击后调用浏览器打开指定URL地址(适用于UITextView)
1. NSFontAttributeName -> 设置字体属性,默认值:字体:Helvetica(Neue) 字号:12
NSAttributedString *att1 = [[NSAttributedString alloc] initWithString:@"01-设置字体大小-默认字体" attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:15]}];

att1 = [[NSAttributedString alloc] initWithString:@"01-设置字体大小-粗体" attributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:15]}];

att1 = [[NSAttributedString alloc] initWithString:@"01-设置字体大小-斜体" attributes:@{NSFontAttributeName : [UIFont italicSystemFontOfSize:15]}];
2. NSForegroundColorAttributeName ->设置字体颜色,取值为 UIColor对象,默认值为黑色
NSAttributedString *att2 = [[NSAttributedString alloc] initWithString:@"02-设置字体颜色" attributes:@{NSForegroundColorAttributeName : [UIColor redColor]}];
3. NSBackgroundColorAttributeName ->设置字体所在区域背景颜色,取值为 UIColor对象,默认值为nil, 透明色
NSAttributedString *att3 = [[NSAttributedString alloc] initWithString:@"03-设置背景颜色" attributes:@{NSBackgroundColorAttributeName : [UIColor redColor]}];
4. NSLigatureAttributeName ->设置连体属性,取值为NSNumber 对象(整数),0 表示没有连体字符,1 表示使用默认的连体字符,一般中文用不到,在英文中可能出现相邻字母连笔的情况
NSAttributedString *att4 = [[NSAttributedString alloc] initWithString:@"04-设置连体属性abcdefghijkl" attributes:@{NSLigatureAttributeName : @1}];
5. NSKernAttributeName ->设置字符间距,取值为 NSNumber 对象(整数),正值间距加宽,负值间距变窄,0表示禁用了字距调整。
NSAttributedString *att5 = [[NSAttributedString alloc] initWithString:@"5-设置字符间距" attributes:@{NSKernAttributeName : @10}];
6. NSParagraphStyleAttributeName ->设置文本段落排版格式(包含字间距、行间距等属性),取值为 NSParagraphStyle 对象(详情见下面的API说明),默认defaultParagraphStyle
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
    paragraphStyle.lineSpacing = 10;                            // 字体的行间距
//    paragraphStyle.firstLineHeadIndent = 20.0f;                 // 首行缩进
//    paragraphStyle.alignment = NSTextAlignmentJustified;        //(两端对齐的)文本对齐方式:(左,中,右,两端对齐,自然)
//    paragraphStyle.lineBreakMode = NSLineBreakByTruncatingTail; // 结尾部分的内容以……方式省略 ( "...wxyz" ,"abcd..." ,"ab...yz")
//    paragraphStyle.headIndent = 20;                             // 整体缩进(首行除外)
//    paragraphStyle.tailIndent = 20;                             //
//    paragraphStyle.minimumLineHeight = 10;                      // 最低行高
//    paragraphStyle.maximumLineHeight = 20;                      // 最大行高
//    paragraphStyle.paragraphSpacing = 15;                       // 段与段之间的间距
//    paragraphStyle.paragraphSpacingBefore = 22.0f;              // 段首行空白空间
//    paragraphStyle.baseWritingDirection = NSWritingDirectionLeftToRight;// 从左到右的书写方向
//    paragraphStyle.lineHeightMultiple = 15;// 在受到最小线高和最大线高的约束之前,将自然线高乘以这个因子(如果为正)。
//    paragraphStyle.hyphenationFactor = 1;   // 连字属性 在iOS,唯一支持的值分别为0和1

    NSAttributedString *att6 = [[NSAttributedString alloc] initWithString:@"06-设置排版样式(包含字间距、行间距等属性)-设置排版样式(包含字间距、行间距等属性)-设置排版样式(包含字间距、行间距等属性)-设置排版样式(包含字间距、行间距等属性)" attributes:@{NSParagraphStyleAttributeName:paragraphStyle}];
7. NSStrikethroughStyleAttributeName ->设置删除线,取值为 NSNumber 对象(整数),默认0:无删除
NSAttributedString *att7 = [[NSAttributedString alloc] initWithString:@"7-设置删除线" attributes:@{NSStrikethroughStyleAttributeName : @3}];
8. NSStrikethroughColorAttributeName ->设置删除线颜色,取值为 UIColor 对象,默认值为黑色
NSAttributedString *att8 = [[NSAttributedString alloc] initWithString:@"8-设置删除线颜色" attributes:@{NSStrikethroughStyleAttributeName : @3,NSStrikethroughColorAttributeName:[UIColor redColor]}];
9. NSUnderlineStyleAttributeName ->设置下划线,取值为 NSNumber 对象(整数),枚举常量 NSUnderlineStyle中的值,与删除线类似,默认0:无下划线
NSAttributedString *att9 = [[NSAttributedString alloc] initWithString:@"09-设置下划线" attributes:@{NSUnderlineStyleAttributeName : @(NSUnderlineStyleSingle)}];
10. NSUnderlineColorAttributeName ->设置下划线颜色,取值为 UIColor 对象,默认值为黑色
NSAttributedString *att10 = [[NSAttributedString alloc] initWithString:@"10-设置下划线颜色" attributes:@{NSUnderlineStyleAttributeName : @(NSUnderlineStyleSingle),NSUnderlineColorAttributeName:[UIColor redColor]}];
11. NSStrokeWidthAttributeName ->设置笔画宽度(粗细),取值为 NSNumber 对象(整数),负值填充效果,正值中空效果,(概述文本的典型值为3.0)
NSAttributedString *att11 = [[NSAttributedString alloc] initWithString:@"11-设置画笔颜色" attributes:@{NSStrokeWidthAttributeName:@5}];
12. NSStrokeColorAttributeName ->填充部分颜色,不是字体颜色,取值为 UIColor 对象,默认nil
NSAttributedString *att12 = [[NSAttributedString alloc] initWithString:@"12-设置画笔颜色" attributes:@{NSStrokeWidthAttributeName:@5,NSStrokeColorAttributeName:[UIColor redColor]}];
13. NSShadowAttributeName ->设置阴影属性,取值为 NSShadow 对象
NSShadow *shadow = [[NSShadow alloc]init];
shadow.shadowOffset = CGSizeMake(5, 5);
shadow.shadowColor = [UIColor greenColor];
NSAttributedString *att13 = [[NSAttributedString alloc] initWithString:@"13-设置阴影属性" attributes:@{NSShadowAttributeName:shadow}];
14. NSTextEffectAttributeName ->设置文本特殊效果,取值为 NSString 对象,默认nil:无文本效果,目前只有图版印刷效果可用
NSAttributedString *att14 = [[NSAttributedString alloc] initWithString:@"14-设置文本特殊效果" attributes:@{NSTextEffectAttributeName:NSTextEffectLetterpressStyle}];
15. NSBaselineOffsetAttributeName ->设置基线偏移值,取值为 NSNumber (float),默认为0,正值上偏,负值下偏
NSAttributedString *att15 = [[NSAttributedString alloc] initWithString:@"15-设置基线偏移量" attributes:@{NSBaselineOffsetAttributeName:@15}];
16. NSObliquenessAttributeName ->设置字形倾斜度,取值为 NSNumber (float),正值右倾,负值左倾,默认0:无倾斜
NSAttributedString *att16 = [[NSAttributedString alloc] initWithString:@"16-设置基线偏移量" attributes:@{NSObliquenessAttributeName:@0.8}];
17. NSExpansionAttributeName ->设置文本横向拉伸属性,取值为 NSNumber (float),正值横向拉伸文本,负值横向压缩文本,默认0:没有展开
NSAttributedString *att17 = [[NSAttributedString alloc] initWithString:@"17-设置文本横向拉伸属性" attributes:@{NSExpansionAttributeName:@1.0}];
18. NSWritingDirectionAttributeName ->设置文字书写方向,从左向右书写或者从右向左书写
NSAttributedString *att18 = [[NSAttributedString alloc] initWithString:@"18-设置文本书写方向" attributes:@{NSWritingDirectionAttributeName:@[@3]}];
19. NSVerticalGlyphFormAttributeName ->设置文字排版方向,取值为 NSNumber 对象(整数),0 表示横排文本,1 表示竖排文本,目前在iOS上,它总是水平的。任何其他值的行为都是未定义的。
NSAttributedString *att19 = [[NSAttributedString alloc] initWithString:@"19-设置文本排版方向" attributes:@{NSVerticalGlyphFormAttributeName:@1}];
20. NSAttachmentAttributeName ->设置文本附件,取值为NSTextAttachment对象,常用于文字图片混排,默认nil
NSMutableAttributedString * att20 = [[NSMutableAttributedString alloc] init];
NSAttributedString *att = [[NSAttributedString alloc] initWithString:@"20-设置文本附件"];
[att20 appendAttributedString:att];

// 设置图片
NSTextAttachment *attach = [[NSTextAttachment alloc] initWithData:nil ofType:nil];
attach.bounds = CGRectMake(0, 0, 15, 15);
attach.image = [UIImage imageNamed:@"guanli"];
NSAttributedString *strAtt = [NSAttributedString attributedStringWithAttachment:attach];
[att20 appendAttributedString:strAtt];
21. NSLinkAttributeName ->设置链接属性,点击后调用浏览器打开指定URL地址(适用于UITextView)
NSString *strLink =@"   21-设置链接属性";
NSAttributedString *att21 = [[NSAttributedString alloc] initWithString:strLink attributes:@{NSLinkAttributeName: [NSURL URLWithString:@"http://www.baidu.com"]}];

你可能感兴趣的:(富文本-iOS)