美文网首页
iOS-NSMutableAttributedString-调整

iOS-NSMutableAttributedString-调整

作者: QYCD | 来源:发表于2023-01-31 15:26 被阅读0次

需要的效果:

  1. 配置文案拼接,中间使用"|"分割,最多两行,超出...代替
  2. 关键点在于NSBaselineOffsetAttributeName属性; 分割"|"明显靠下了,通过NSBaselineOffsetAttributeName向上调整了2个单位
_configL = [[UILabel alloc] init];
_configL.numberOfLines = 2;
_configL.lineBreakMode = NSLineBreakByTruncatingTail;

NSArray *configList = @[@"旗舰型", @"2.0TD-7DCT EVO", @"翠羽幻彩车漆", @"元气蓝双", @"21英寸多幅射线轮毂"];
NSString *configStr = [NSString string];
for (NSString *str in configList) {
    if (StrEmpty(configStr)) {
        configStr = [configStr stringByAppendingFormat:@"%@  |", str];
    } else {
        configStr = [configStr stringByAppendingFormat:@"  %@  |", str];
    }
}
if ([configStr hasSuffix:@"|"]) {
    configStr = [configStr substringToIndex:configStr.length - 1];
}

NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new];
paragraphStyle.lineSpacing = 8;
NSDictionary *attributes = @{
    NSFontAttributeName:FONT_Regular(Width_SIZEFIT(12)),
    NSForegroundColorAttributeName:RGB_HEX(0x7D7D7D),
    NSParagraphStyleAttributeName:paragraphStyle};

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:configStr attributes:attributes];
for (int i = 0; i < configStr.length; i++) {
    NSString *colorStr = [configStr substringWithRange:NSMakeRange(i, 1)];
    if([colorStr isEqualToString:@"|"]) {
        [attributedString addAttribute:NSForegroundColorAttributeName value:RGB_HEX(0xC8C8C8) range:NSMakeRange(i, 1)];
        [attributedString addAttribute:NSFontAttributeName value:FONT_Regular(8) range:NSMakeRange(i, 1)];
        [attributedString addAttribute:NSBaselineOffsetAttributeName value:@2 range:NSMakeRange(i, 1)];
    }
}
_configL.attributedText = attributedString;

实现效果:


image.png

相关文章

  • 调整,调整再调整

    今天带女儿去了电脑板绘学校,她决定从下周开始,全天到那里学习。 以半年为期,学费自然不会便宜。 我能信任她吗?她能...

  • 调整调整

    不会有人包容你,不要期望,因为这个世界就是这样的。 要学会自我去突破,成长。 每个人都有自己的压力,职位不同压力不...

  • 调整,调整

    今早出门感觉状态不佳,是否该“怪罪”起早了。 工作的时候总感觉气氛怪怪的,大家都没有主动挑起话题,埋着头在工作,在...

  • 调整/调整

    【今日任务清单】 1丶6.00早起 2丶每日英文晨读一篇x10遍 √ 3丶阅读《即兴演讲》第 三 四章 √ 4丶健...

  • 嘿嘿!调整调整

    不断调整心态,好的状态收获到好的人。今天居然碰到5个意向客户,还不错。看后期怎么维护了。 对于主动维护客户我有点害...

  • 【调整】写作调整

    文/明镜小书生 写作应该是一件快乐的事情,是一件抒发作者心生的出口,也是提高个人思维的一种方式。 写作产生的效应,...

  • 蜕变记:调整,调整,再调整

    调整,调整,再调整 蜕变记028 | 文/零一 调整,调整,再调整,使之更匹配新的情况,新的发展,新的需求。 调整...

  • 20211208坚持打卡第769天

    调整!调整!调整!调整!调整就是一种能力!

  • 调整、调整、再调整,终稿了……

    昨天很晚把那个文件整理好了。 今天重要的事情是需要把这个文件发给几个人,争取不同的意见,修改成最好的那个结果。 后...

  • 调整思路,调整位置

    员工是需要正面激励的,组织激励,职业规划激励,赞赏激励,行为激励。没有正确的方法是与组织发展不利的,二十几岁的小伙...

网友评论

      本文标题:iOS-NSMutableAttributedString-调整

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