• 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;

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

     
  • 相关阅读:
    DMALL刘江峰:生鲜市场具有巨大O2O改造空间
    互联网产品经理能力体系
    Review Board——在线代码审查工具
    Java Dns Cache Manipulator
    Keepalived 双机web服务宕机检测切换系统软件
    weblogic性能调优参考
    spring的ResultSetWrappingSqlRowSet使用rs.getTimestamp取oracle数据库时分秒问题
    oracle ORA-01747(系统保留关键字)user.table.column, table.column 或列说明无效 hibernate映射oracle保留关键字
    javascript模块化编程(AMD规范的加载器)
    oracle定时运行 存储过程
  • 原文地址:https://www.cnblogs.com/quwujin/p/4797137.html
Copyright © 2020-2023  润新知