富文本 添加下划线 更改字体大小颜色

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yst19910702/article/details/85330211

神一样的需求造就一堆神一样的代码 。样式大概如图 数字部分是不固定长度? 可能是0.00 也可能是 666.66.

固定长度可以NSRang那种方法 长度不固定富文本也蛮恶心。安卓同事中间用了段H5我用富文本写了一堆自己看了就想吐的bug!

   UILabel *la = [[UILabel alloc]init];

    la.frame = CGRectMake(0, 100, self.view.frame.size.width, 100);

    [self.view addSubview:la];

    

    //实际提现 富文本

    NSString *account = @"100.0000";

扫描二维码关注公众号,回复: 4777749 查看本文章

    NSString *noAccount = @"66:00";

    NSString *accountNum = @"9000:00";

    //第一段

    NSDictionary *dic1 = @{NSUnderlineStyleAttributeName: [NSNumber numberWithInteger:NSUnderlineStyleSingle]};

    

    NSMutableAttributedString *att1 = [[NSMutableAttributedString alloc]initWithString:accountNum attributes:dic1];

    [att1 addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0,accountNum.length)];

    

    NSString *str2 = @"  (到账 ";

    NSDictionary *dic2 = @{NSFontAttributeName: [UIFont systemFontOfSize:10]};

    NSMutableAttributedString *att2  = [[NSMutableAttributedString alloc]initWithString:str2 attributes:dic2];

    [att2 addAttribute:NSForegroundColorAttributeName value:[UIColor lightGrayColor] range:NSMakeRange(0,str2.length)];

    

    NSMutableAttributedString *att3 = [[NSMutableAttributedString alloc]initWithString:account];

    [att3 addAttribute:NSFontAttributeName value: [UIFont systemFontOfSize:10] range:NSMakeRange(0,account.length)];

    [att3 addAttribute:NSForegroundColorAttributeName value: [UIColor greenColor] range:NSMakeRange(0,account.length)];

    

    

    NSString *str4 = [NSString stringWithFormat:@"   未到账:%@ )",noAccount];

    NSDictionary *dic4 = @{NSFontAttributeName: [UIFont systemFontOfSize:10]};

    NSMutableAttributedString *att4  = [[NSMutableAttributedString alloc]initWithString:str4 attributes:dic4];

    [att4 addAttribute:NSForegroundColorAttributeName value:[UIColor lightGrayColor] range:NSMakeRange(0,str4.length)];

    

    NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc] initWithAttributedString: att1];

    [attributedStr appendAttributedString:att2];

    [attributedStr appendAttributedString: att3];

    [attributedStr appendAttributedString: att4];

    

    la.attributedText = attributedStr;

* API: Character Attributes , NSAttributedString共有21个属性* *

1.NSFontAttributeName->设置字体属性,默认值:字体:Helvetica(Neue) 字号:12*

 2.NSParagraphStyleAttributeName->设置文本段落排版格式,取值为 NSParagraphStyle对象(详情见下面的API说明) * 3.NSForegroundColorAttributeName->设置字体颜色,取值为 UIColor对象,默认值为黑色 * 4.NSBackgroundColorAttributeName->设置字体所在区域背景颜色,取值为 UIColor对象,默认值为nil, 透明色 * 5.NSLigatureAttributeName->设置连体属性,取值为NSNumber对象(整数),0表示没有连体字符,1表示使用默认的连体字符 * 6.NSKernAttributeName->设置字符间距,取值为 NSNumber对象(整数),正值间距加宽,负值间距变窄 * 7.NSStrikethroughStyleAttributeName->设置删除线,取值为 NSNumber对象(整数) * 8.NSStrikethroughColorAttributeName->设置删除线颜色,取值为 UIColor对象,默认值为黑色 * 9.NSUnderlineStyleAttributeName->设置下划线,取值为 NSNumber对象(整数),枚举常量 NSUnderlineStyle中的值,与删除线类似 * 

10.NSUnderlineColorAttributeName->设置下划线颜色,取值为 UIColor对象,默认值为黑色 * 11.NSStrokeWidthAttributeName->设置笔画宽度(粗细),取值为 NSNumber对象(整数),负值填充效果,正值中空效果 * 12.NSStrokeColorAttributeName->填充部分颜色,不是字体颜色,取值为 UIColor对象 * 13.NSShadowAttributeName->设置阴影属性,取值为 NSShadow对象 * 14.NSTextEffectAttributeName->设置文本特殊效果,取值为 NSString对象,目前只有图版印刷效果可用 * 15.NSBaselineOffsetAttributeName->设置基线偏移值,取值为 NSNumber(float),正值上偏,负值下偏 * 16.NSObliquenessAttributeName->设置字形倾斜度,取值为 NSNumber(float),正值右倾,负值左倾 * 17.NSExpansionAttributeName->设置文本横向拉伸属性,取值为 NSNumber(float),正值横向拉伸文本,负值横向压缩文本 * 18.NSWritingDirectionAttributeName->设置文字书写方向,从左向右书写或者从右向左书写 * 19.NSVerticalGlyphFormAttributeName->设置文字排版方向,取值为 NSNumber对象(整数),0表示横排文本,1表示竖排文本 * 20.NSLinkAttributeName->设置链接属性,点击后调用浏览器打开指定URL地址 * 

21.NSAttachmentAttributeName->设置文本附件,取值为NSTextAttachment对象,常用于文字图片混排 



 

猜你喜欢

转载自blog.csdn.net/yst19910702/article/details/85330211
今日推荐