UILabel设置富文本格式显示

标签:

  1. 实例化方法和使用方法

实例化方法:

使用字符串初始化

- (id)initWithString:(NSString *)str;

例:

NSMutableAttributedString *AttributedStr = [[NSMutableAttributedStringalloc]initWithString:@"今天天气不错呀"];

 

- (id)initWithString:(NSString *)str attributes:(NSDictionary *)attrs;

 

字典中存放一些属性名和属性值,如:

NSDictionary *attributeDict = [NSDictionarydictionaryWithObjectsAndKeys:

                                    [UIFontsystemFontOfSize:15.0],NSFontAttributeName,

                                    [UIColorredColor],NSForegroundColorAttributeName,

                                   NSUnderlineStyleAttributeName,NSUnderlineStyleSingle,nil];

 

NSMutableAttributedString *AttributedStr = [[NSMutableAttributedStringalloc]initWithString:@"今天天气不错呀" attributes:attributeDict];

 

- (id)initWithAttributedString:(NSAttributedString *)attester;

使用NSAttributedString初始化,跟NSMutableString,NSString类似

 

使用方法:

为某一范围内文字设置多个属性

- (void)setAttributes:(NSDictionary *)attrs range:(NSRange)range;

为某一范围内文字添加某个属性

- (void)addAttribute:(NSString *)name value:(id)value range:(NSRange)range;

 为某一范围内文字添加多个属性

- (void)addAttributes:(NSDictionary *)attrs range:(NSRange)range;

移除某范围内的某个属性

- (void)removeAttribute:(NSString *)name range:(NSRange)range;

  1. 常见的属性及说明

NSFontAttributeName  字体

NSParagraphStyleAttributeName       段落格式 

NSForegroundColorAttributeName     字体颜色

NSBackgroundColorAttributeName    背景颜色

NSStrikethroughStyleAttributeName  删除线格式

NSUnderlineStyleAttributeName       下划线格式

NSStrokeColorAttributeName            删除线颜色

NSStrokeWidthAttributeName           删除线宽度

NSShadowAttributeName                 阴影

 

 2.实例设置文本的属性

//从网络获取的数组中拿到字典

    NSDictionary *dataDic = @{@"Position":@"苏州",

                                              @"TrueName":@"苏州***信息科技有限公司"};

   //变换字体大小及颜色positionstr拼接设置一定的格式如(),{},[]……

    NSString *positionStr = [NSString stringWithFormat:@"(%@)",dataDic[@"Position"]];

    NSString *str = [NSString stringWithFormat:@"%@%@",dataDic[@"TrueName"],positionStr];

//初始化

    NSMutableAttributedString *mutableStr = [[NSMutableAttributedString alloc]initWithString:str];

//限定范围

    NSRange trueNameRange = [str rangeOfString:dataDic[@"TrueName"]];

    NSRange positionRange = [str rangeOfString:positionStr];

//设置范围属性

    [mutableStr addAttribute:NSForegroundColorAttributeName value:[UIColor blackColor] range:trueNameRange];

    [mutableStr addAttribute:NSForegroundColorAttributeName value:[UIColor lightGrayColor] range:positionRange];

    [mutableStr addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Bold" size:16] range:trueNameRange];

    [mutableStr addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Bold" size:13] range:positionRange];

//取出获得的数据,直接给label

    nameLabel.attributedText = mutableStr;

具体的效果图,可以自己测试之后看到

 

转载于:https://www.cnblogs.com/quwujin/p/4797137.html

你可能感兴趣的:(UILabel设置富文本格式显示)