NSAttributedString文本属性设置的使用

// 设置字体属性NSFontAttributeName,默认值:字体:Helvetica(Neue) 字号:12 
NSMutableAttributedString *textFont = [[NSMutableAttributedString alloc] initWithString:@"NSAttributedString设置字体大小"];
[textFont addAttribute:NSFontAttributeName
                 value:[UIFont boldSystemFontOfSize:18.0]
                 range:[@"NSAttributedString设置字体大小" rangeOfString:@"NSAttributedString"]];
效果图-字体大小
// 设置文本段落排版格式NSParagraphStyleAttributeName,取值为 NSParagraphStyle 对象 
NSMutableParagraphStyle *rowParagraph = [[NSMutableParagraphStyle alloc] init];
rowParagraph.firstLineHeadIndent = 20;
rowParagraph.lineSpacing = 10;
NSMutableAttributedString *textRowSpace = [[NSMutableAttributedString alloc] initWithString:@"NSAttributedString设置字体文字间距"];
[textRowSpace addAttribute:NSParagraphStyleAttributeName 
                     value:rowParagraph 
                     range:NSMakeRange(0, textRowSpace.string.length)];
效果图-文字排版
// 设置字体颜色NSForegroundColorAttributeName,取值为 UIColor对象,默认值为黑色 
NSMutableAttributedString *textColor = [[NSMutableAttributedString alloc] initWithString:@"NSAttributedString设置字体颜色"];
[textColor addAttribute:NSForegroundColorAttributeName
                  value:[UIColor greenColor]
                  range:[@"NSAttributedString设置字体颜色" rangeOfString:@"NSAttributedString"]];
效果图-字体颜色
// 设置字体所在区域背景颜色NSBackgroundColorAttributeName,取值为 UIColor对象,默认值为nil, 透明色 
NSMutableAttributedString *textBackColor = [[NSMutableAttributedString alloc] initWithString:@"NSAttributedString设置字体背景颜色"];
[textBackColor addAttribute:NSBackgroundColorAttributeName
                      value:[UIColor yellowColor]
                      range:[@"NSAttributedString设置字体背景颜色" rangeOfString:@"NSAttributedString"]];
效果图-字体背景颜色
/*
设置连体属性NSLigatureAttributeName,取值为NSNumber 对象(整数),0 表示没有连体字符,1 表示使用默认的连体字符 
设置字符间距NSKernAttributeName,取值为 NSNumber 对象(整数),正值间距加宽,负值间距变窄 
*/
NSMutableAttributedString *textSizeSpace = [[NSMutableAttributedString alloc] initWithString:@"NSAttributedString设置字体文字间距"];
[textSizeSpace addAttribute:NSKernAttributeName
                      value:@(2)
                      range:[@"NSAttributedString设置字体文字间距" rangeOfString:@"NSAttributedString"]];
效果图-文字间距
/*
设置删除线NSStrikethroughStyleAttributeName,取值为 NSNumber 对象(整数)  
设置删除线颜色NSStrikethroughColorAttributeName,取值为 UIColor 对象,默认值为黑色 
*/
NSMutableAttributedString *textDeleteline = [[NSMutableAttributedString alloc] initWithString:@"NSAttributedString设置删除线"];
[textDeleteline addAttribute:NSStrikethroughStyleAttributeName
                       value:@(NSUnderlineStyleSingle)
                       range:[@"NSAttributedString设置删除线" rangeOfString:@"NSAttributedString"]];
[textDeleteline addAttribute:NSStrikethroughColorAttributeName
                       value:[UIColor blueColor]
                       range:[@"NSAttributedString设置删除线" rangeOfString:@"NSAttributedString"]];
效果图-删除线
/*
设置下划线NSUnderlineStyleAttributeName,取值为 NSNumber 对象(整数),枚举常量 NSUnderlineStyle中的值,与删除线类似  
设置下划线颜色NSUnderlineColorAttributeName,取值为 UIColor 对象,默认值为黑色 
*/
NSMutableAttributedString *textUnderline = [[NSMutableAttributedString alloc] initWithString:@"NSAttributedString设置下划线"];
[textUnderline addAttribute:NSUnderlineStyleAttributeName
                      value:@(NSUnderlineStyleSingle)
                      range:[@"NSAttributedString设置下划线" rangeOfString:@"NSAttributedString"]];
[textUnderline addAttribute:NSUnderlineColorAttributeName
                      value:[UIColor brownColor]
                      range:[@"NSAttributedString设置下划线" rangeOfString:@"NSAttributedString"]];
效果图-下划线
// 设置笔画宽度(粗细) NSStrokeWidthAttributeName,取值为 NSNumber 对象(整数),负值填充效果,正值中空效果 
NSMutableAttributedString *textBorderType = [[NSMutableAttributedString alloc] initWithString:@"NSAttributedString设置字体笔画样式"];
[textBorderType addAttribute:NSStrokeWidthAttributeName
                       value:@(2)
                       range:[@"NSAttributedString设置字体笔画样式" rangeOfString:@"NSAttributedString"]];
效果图-字体笔画线宽
// 填充部分颜色NSStrokeColorAttributeName,不是字体颜色,取值为 UIColor 对象(无效果) 
NSMutableAttributedString *textBorderColor = [[NSMutableAttributedString alloc] initWithString:@"NSAttributedString设置字体笔画颜色"];
[textBorderColor addAttribute:NSStrokeColorAttributeName
                        value:[UIColor greenColor]
                        range:[@"NSAttributedString设置字体笔画颜色" rangeOfString:@"NSAttributedString"]];
效果图-字体笔画颜色
// 设置阴影属性NSShadowAttributeName,取值为 NSShadow 对象 
// 设置字体阴影 模糊度shadowBlurRadius 阴影颜色shadowColor 阴影偏移shadowOffset
NSShadow *shadow = [[NSShadow alloc] init];
shadow.shadowBlurRadius = 1;
shadow.shadowColor = [UIColor purpleColor];
shadow.shadowOffset = CGSizeMake(3, 3);
//
NSMutableAttributedString *textShadow = [[NSMutableAttributedString alloc] initWithString:@"NSAttributedString设置字体阴影"];
[textShadow addAttribute:NSShadowAttributeName
                   value:shadow
                   range:[@"NSAttributedString设置字体阴影" rangeOfString:@"NSAttributedString"]];
效果图-阴影
/*
设置文本特殊效果NSTextEffectAttributeName,取值为 NSString 对象,目前只有图版印刷效果可用 
设置基线偏移值NSBaselineOffsetAttributeName,取值为 NSNumber (float),正值上偏,负值下偏 
*/
NSMutableAttributedString *textOffset = [[NSMutableAttributedString alloc] initWithString:@"NSAttributedString调整基线位置"];
[textOffset addAttribute:NSBaselineOffsetAttributeName
                   value:@(6)
                   range:[@"NSAttributedString调整基线位置" rangeOfString:@"NSAttributedString"]];
效果图-基线调整
// 设置字形倾斜度NSObliquenessAttributeName,取值为 NSNumber (float),正值右倾,负值左倾 
NSMutableAttributedString *textObliqueness = [[NSMutableAttributedString alloc] initWithString:@"NSAttributedString设置文本斜体"];
[textObliqueness addAttribute:NSObliquenessAttributeName
                        value:@(0.5)
                        range:[@"NSAttributedString设置文本斜体" rangeOfString:@"NSAttributedString"]];
效果图-字体倾斜
// 设置文本横向拉伸属性NSExpansionAttributeName,取值为 NSNumber (float),正值横向拉伸文本,负值横向压缩文本 
NSMutableAttributedString *textExpansion = [[NSMutableAttributedString alloc] initWithString:@"NSAttributedString设置文本压缩"];
[textExpansion addAttribute:NSExpansionAttributeName
                      value:@(0.5)
                      range:[@"NSAttributedString设置文本压缩" rangeOfString:@"NSAttributedString"]];
效果图-文本压缩
// 设置文字书写方向NSWritingDirectionAttributeName,从左向右书写或者从右向左书写
NSString *string = @"NSWritingDirectionAttributeName书字方向";
NSMutableAttributedString *attibutedStr = [[NSMutableAttributedString alloc] initWithString:string];
[attibutedStr addAttribute:NSWritingDirectionAttributeName
                     value:@[@(3)]
                     range:NSMakeRange(0, string.length)];
效果图-书写方向
// 设置文字排版方向NSVerticalGlyphFormAttributeName,取值为 NSNumber 对象(整数),0 表示横排文本,1 表示竖排文本 (无效果)
NSString *string = @"NSVerticalGlyphFormAttributeName排版方向";
NSMutableAttributedString *attibutedStr = [[NSMutableAttributedString alloc] initWithString:string];
[attibutedStr addAttribute:NSVerticalGlyphFormAttributeName
                     value:@(3)
                    range:NSMakeRange(0, string.length)];
效果图-排版方向
/*
设置链接属性NSLinkAttributeName,点击后调用浏览器打开指定URL地址 
*/
NSMutableAttributedString *textLink = [[NSMutableAttributedString alloc] initWithString:@"NSAttributedString设置超链接"];
[textLink addAttribute:NSLinkAttributeName
                 value:[NSURL URLWithString:@"http://www.baidu.com"]
                 range:[@"NSAttributedString设置超链接" rangeOfString:@"NSAttributedString"]];
效果图-超链接
// 设置文本附件NSAttachmentAttributeName,取值为NSTextAttachment对象,常用于文字图片混排 
// 设置图文混排
// 初始化一个图文对象
NSTextAttachment *attachmentImage = [[NSTextAttachment alloc] init];
attachmentImage.image = [UIImage imageNamed:@"image"];
attachmentImage.bounds = CGRectMake(0, 0, 20.0, 20.0);
NSAttributedString *attributedImage = [NSAttributedString attributedStringWithAttachment:attachmentImage];
//
NSMutableAttributedString *textImage = [[NSMutableAttributedString alloc] initWithString:@"NSAttributedString图文混排"];
[textImage insertAttributedString:attributedImage atIndex:[@"NSAttributedString图文混排" rangeOfString:@"NSAttributedString"].length];
效果图-附件
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容