美文网首页
iOS Config工具类

iOS Config工具类

作者: Joymerry | 来源:发表于2020-03-28 17:19 被阅读0次

    一.字符串分断显示不同大小、颜色字体

    字体样式

    1.对array参数的介绍:

    @[@{@"font":@14,@"color":RGB(51, 51, 51),@"point":@[@0,@3]},
        @{@"font":@12,@"color":KMainOrange,@"point":@[@3,@1]},
        @{@"font":@20,@"color":KMainOrange,@"point":@[@4,@(string.length - 4)]}]]
    

    其中point字段中的数组,两个值是按照NSMakeRange()的格式去设置,第一个值代表开始的索引位置,第一个值代表长度length。

    2.代码实现:

    在.h中
    +(NSMutableAttributedString *)editString:(NSString *)editStr array:(NSArray *)array;
    
    在.m中
    /// 动态编辑字符串大小、颜色
    /// @param editStr 被编辑的字符串
    /// @param array 编辑字符的数组格式 @[@{@"font":@15,@"color":RGB(51, 51, 51),@"point":@[@0,@2]}]
    +(NSMutableAttributedString *)editString:(NSString *)editStr array:(NSArray *)array
    {
        NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:editStr];
        for (int i = 0; i < array.count; i++) {
            NSDictionary * dict = array[I];
            UIFont *font = [UIFont systemFontOfSize:[dict[@"font"] integerValue]];
            
            NSArray * pointArray = dict[@"point"];
            //设置字体大小
            [attrString addAttribute:NSFontAttributeName value:font range:NSMakeRange([pointArray[0] integerValue],[pointArray[1] integerValue])];
            
            UIColor * precedColor = dict[@"color"];
            //设置第一部分的字体颜色
            [attrString addAttribute:NSForegroundColorAttributeName value:precedColor range:NSMakeRange([pointArray[0] integerValue],[pointArray[1] integerValue])];
        }
        
        return attrString;
    }
    

    直接复制上面代码到静态类中,通过类方法调用,按照规则传入参数类型即可使用。此方法也可继续扩展,比如:字体是否加粗等设置。一样的原理,在.m方法的代码中加入对应的判断设置,在参数的对象中,再添加一个键值对进行配置即可。

    相关文章

      网友评论

          本文标题:iOS Config工具类

          本文链接:https://www.haomeiwen.com/subject/qtlsuhtx.html