zoukankan      html  css  js  c++  java
  • 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;

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

     
  • 相关阅读:
    Wannafly camp Day1 E Growth
    Wannafly camp Day1 C Circle
    Android项目实战_手机安全卫士splash界面
    Android项目实战_手机安全卫士程序锁
    Android项目实战_手机安全卫士系统加速
    Android项目实战_手机安全卫士流量统计
    Android项目实战_手机安全卫士进程管理
    Android项目实战_手机安全卫士软件管家
    Android项目实战_手机安全卫士拦截骚扰
    Android项目实战_手机安全卫士手机防盗界面
  • 原文地址:https://www.cnblogs.com/quwujin/p/4797137.html
Copyright © 2011-2022 走看看