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;

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

     
  • 相关阅读:
    [ jquery 选择器 :hidden ] 此方法选取匹配所有不可见元素,或者type为hidden的元素
    剑指 Offer 03. 数组中重复的数字 哈希
    LeetCode 1736. 替换隐藏数字得到的最晚时间 贪心
    Leetcode 1552. 两球之间的磁力 二分
    Leetcode 88. 合并两个有序数组 双指针
    LeetCode 1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?
    LeetCode 1743. 相邻元素对还原数组 哈希
    LeetCode 1745. 回文串分割 IV dp
    剑指 Offer 47. 礼物的最大价值 dp
    剑指 Offer 33. 二叉搜索树的后序遍历序列 树的遍历
  • 原文地址:https://www.cnblogs.com/quwujin/p/4797137.html
Copyright © 2011-2022 走看看