[attStr addAttribute:NSFontAttributeName value:CLFont(14) range:NSMakeRange(0, text.length)];

NSParagraphStyleAttributeName

NSMutableParagraphStyle *style = [NSMutableParagraphStyle new];
//字体间距
style.lineSpacing = 10;
//首行缩进
style.firstLineHeadIndent = 20.0f;
//文本对齐方式
style.alignment = NSTextAlignmentJustified;
//整体缩进(首行除外)
style.headIndent = 20;
//尾部缩进
style.tailIndent = 20;
//最低行高
style.minimumLineHeight = 20;
style.maximumLineHeight = 20;
//段落间距
style.paragraphSpacing = 20;
//段首间距
style.paragraphSpacingBefore = 20;
//书写方式
style.baseWritingDirection = NSWritingDirectionLeftToRight;
[attStr addAttribute:NSParagraphStyleAttributeName value:style range:NSMakeRange(0, text.length)];

NSForegroundColorAttributeName

[attStr addAttribute:NSForegroundColorAttributeName value:CLRGBAColor(0, 0, 0, 1) range:NSMakeRange(0, text.length)];

NSBackgroundColorAttributeName

[attStr addAttribute:NSBackgroundColorAttributeName value:CLRGBAColor(0, 0, 0, 1) range:NSMakeRange(0, text.length)];

NSKernAttributeName

[attStr addAttribute:NSKernAttributeName value:@(10) range:NSMakeRange(0, text.length)];

文本添加删除线(单删除线、双删除线)

NSStrikethroughStyleAttributeName

[attStr addAttribute:NSStrikethroughStyleAttributeName value:@(10) range:NSMakeRange(0, text.length)];

文本设置下划线

NSUnderlineStyleAttributeName

[attStr addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:NSMakeRange(0, text.length)];

设置文本描边颜色

NSStrokeColorAttributeName(value是UIColor对象)

[attStr addAttribute:NSUnderlineStyleAttributeName value:CLRGBAColor(0, 0, 0, 1) range:NSMakeRange(0, text.length)];

设置描边宽度

NSStrokeColorAttributeName同时使用能使文字空心 NSStrokeWidthAttributeName (value是NSNumber对象):

[attStr addAttribute:NSUnderlineStyleAttributeName value:@(-2) range:NSMakeRange(0, text.length)];
  • 设置文本阴影,单独设置好用的(11.4系统),下面的观点是查资料的,可能和系统有关吧 NSShadowAttributeName(value是NSShadow对象) :
  • (单独设置不好使,必须和其他属性搭配才好使) 和这三个任一个都好使,NSVerticalGlyphFormAttributeName,NSObliquenessAttributeName,NSExpansionAttributeName) NSShadow *shadow = [NSShadow new]; //偏移量 shadow.shadowOffset = CGSizeMake(0, 5); //阴影颜色 shadow.shadowColor = UIColor.redColor; //模糊度 shadow.shadowBlurRadius = 3; [attStr addAttribute:NSShadowAttributeName value:shadow range:NSMakeRange(0, text.length)];

    设置文本特殊效果

    NSTextEffectAttributeName(value是NSString)目前只有一个可用效果NSTextEffectLetterpressStyle(凸版印刷效果)

    NSShadow *shadow = [NSShadow new];
    //偏移量
    shadow.shadowOffset = CGSizeMake(0, 5);
    //阴影颜色
    shadow.shadowColor = UIColor.redColor;
    //模糊度
    shadow.shadowBlurRadius = 3;
    //凸版印刷效果
    [attStr addAttribute:NSTextEffectAttributeName value:NSTextEffectLetterpressStyle range:NSMakeRange(0, text.length)];
    [attStr addAttribute:NSShadowAttributeName value:shadow range:NSMakeRange(0, text.length)];
    //背景颜色
    [attStr addAttribute:NSBackgroundColorAttributeName value:UIColor.redColor range:NSMakeRange(0, text.length)];
    //字体大小
    [attStr addAttribute:NSFontAttributeName value:CLFont(14) range:NSMakeRange(0, text.length)];
    

    设置文本附件,常用于图文混排

    NSAttachmentAttributeName (value是NSTextAttachment对象)

    NSTextAttachment *achment = [NSTextAttachment new];
    achment.image = [UIImage imageNamed:@""];
    achment.bounds = CGRectMake(0, 0, 20, 20);
    NSAttributedString *imageStr = [NSAttributedString attributedStringWithAttachment:achment];
    [attStr appendAttributedString:imageStr];
    

    NSLinkAttributeName (value是NSURL or NSString)

    不能在UILabel和UITextField使用,只能用UITextView来进行,实现他的代理,在代理方法里面进行URL跳转 -(BOOL)textView:(UITextView*)textView shouldInteractWithURL:(NSURL*)URL inRange:(NSRange)characterRange interaction:(UITextItemInteraction)interaction

    1.一定要实现UITextView的代理才能进行URL跳转

    2.textView的editable属性修改为NO,在编辑时不可点击

    [attStr addAttribute:NSLinkAttributeName value:[NSURL URLWithString:@""] range:NSMakeRange(0, text.length)];
    

    文字基线偏移

    NSBaselineOffsetAttributeName (value是NSNumber对象):

    [attStr addAttribute:NSBaselineOffsetAttributeName value:@(2) range:NSMakeRange(0, text.length)];
    

    下划线颜色

    NSUnderlineColorAttributeName (value是UIColor对象)

    [attStr addAttribute:NSUnderlineColorAttributeName value:UIColor.redColor range:NSMakeRange(0, text.length)];
    

    删除线颜色

    NSStrikethroughColorAttributeName (value是UIColor对象)

    [attStr addAttribute:NSStrikethroughStyleAttributeName value:@(10) range:NSMakeRange(0, text.length)];
    [attStr addAttribute:NSStrikethroughColorAttributeName value:UIColor.redColor range:NSMakeRange(0, text.length)];
    

    设置字体倾斜度

    NSObliquenessAttributeName (value是NSNumber对象)

    [attStr addAttribute:NSObliquenessAttributeName value:@(10) range:NSMakeRange(0, text.length)];
    

    设置字体的横向拉伸

    NSExpansionAttributeName(value是NSNumber对象)

    [attStr addAttribute:NSExpansionAttributeName value:@(1) range:NSMakeRange(0, text.length)];
    复制代码
    私信