NSMutableParagraphStyle富文本

在iOS开发中,常常会有一段文字显示不同的颜色和字体,或者给某几个文字加删除线或下划线的需求。就需要富文本来实现。

一、实例化方法和使用方法

    NSMutableAttributedString *detailStr = [[NSMutableAttributedString alloc] initWithString:detailString];
NSRange stringRange = NSMakeRange(0, 5);
    [detailStr addAttribute:NSForegroundColorAttributeName value:[UIColor colorWithHexString:@"#999999"] range:stringRange];// 添加单个属性
    [detailStr addAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14],NSParagraphStyleAttributeName:paragraphStyle} range:NSMakeRange(0, detailString.length)];// 添加多个属性
    [detailLabel setAttributedText:detailStr];

二、富文本属性

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

三、段落样式

段落样式主要改行距、段距、首行缩进、最大最小行高、多倍行距等十几个属性

    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
    paragraphStyle.lineSpacing = 5;
    paragraphStyle.alignment = NSTextAlignmentLeft;
    paragraphStyle.lineBreakMode = NSLineBreakByCharWrapping;

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