iOS接下来要研究的知识点

UILabel 设置高亮文字和图片并且可以显示

2018-04-19  本文已影响0人  rachel_rui

先来说下 UILabel 设置高亮文字和图片,看下效果图,当当当👇

image.png

没啥可说的,直接贴代码吧

// 描述文字属性调整
    UIFont *detailFont = [UIFont systemFontOfSize:is320 ? 14 : 16];
    UIColor *detailColor = [UIColor mmsRGBColorFromHexString:@"#dddddd" alpha:1];
    NSMutableParagraphStyle *detailStyle = [[NSMutableParagraphStyle alloc] init];
    [detailStyle setParagraphStyle:[[NSParagraphStyle alloc] init]];
    detailStyle.lineSpacing = is320 ? 7 : 8;
    NSDictionary *detailAttr = @{NSFontAttributeName : detailFont,
                                 NSForegroundColorAttributeName : detailColor,
                                 NSParagraphStyleAttributeName : detailStyle};

    // detail1
    NSString *detail1 = @"1、点击“  识别图 ”,下载或分享AR识别图到其他电子设备上打开";
    NSMutableAttributedString *detail1AttrStr = [[NSMutableAttributedString alloc] initWithString:detail1];
    [detail1AttrStr addAttributes:detailAttr range:NSMakeRange(0, detail1AttrStr.length)];
    // 加亮文字处理
    UIColor *lightColor = [UIColor mmsRGBColorFromHexString:@"#3388ff" alpha:1];
    NSRange lightRange = [detail1 rangeOfString:@"“  识别图 ”"];
    NSRange linkRange = NSMakeRange(lightRange.location + 1, lightRange.length - 2);
    [detail1AttrStr addAttribute:NSForegroundColorAttributeName value:lightColor range:linkRange];
    
    //加亮图片
    UIImage *iconImg = [MISImageSearchBundle imageNamed:@"ar_recognize_blue"];
    NSTextAttachment *icon = [[NSTextAttachment alloc] init];
    icon.image = iconImg;
    CGFloat iconWidth = is320 ? 13 : 14;
    icon.bounds = CGRectMake(0, -1, iconWidth, iconWidth);
    NSAttributedString *iconAttrStr = [NSAttributedString attributedStringWithAttachment:icon];
    [detail1AttrStr replaceCharactersInRange:NSMakeRange(lightRange.location+2, 0) withAttributedString:iconAttrStr];
    self.detailLbl1.attributedText = detail1AttrStr;

嗯嗯,没什么技术难度,接下来的可点击怎么做呐🤔️

首先我这个方法是需要xib的,还不晓得不用xib咋做呀~~~

我们只需要来个xib,然后拖出来一个 UILabel,把 UILabel 需要现实的文字写好,然后~~~你只需要再拖出来一个 UIButton ,把 UIButton 刚刚好放在需要点击的文字上,然后把约束加好,如下所示👇

image.png

完成啦,哈哈哈,是不是很简单,不要打我🤨

上一篇 下一篇

猜你喜欢

热点阅读