美文网首页iOS Developer
ios 设置字符串中某段字符的颜色

ios 设置字符串中某段字符的颜色

作者: GF极客天涯 | 来源:发表于2016-10-13 14:31 被阅读107次

1.提取URL

NSMutableAttributedString*strMutable=[[NSMutableAttributedString alloc]initWithString:str];
    [strMutable addAttribute:NSFontAttributeName value:label.font range:NSMakeRange(0, str.length)];
    [strMutable addAttribute:NSForegroundColorAttributeName value:label.textColor range:NSMakeRange(0, str.length)];
  
 

    NSDataDetector*detect=[[NSDataDetector alloc]    initWithTypes:NSTextCheckingTypeLink error:nil];
    
    NSArray*matches=[detect matchesInString:str options:0 range:NSMakeRange(0, str.length)];
    
    for(NSTextCheckingResult*result in matches)
    {
        if (result.resultType==NSTextCheckingTypeLink) {
            [strMutable addAttribute:NSLinkAttributeName value:@"http://www.baidu.com" range:result.range ];
        }
    }
    if ([matches count]>0) {
        label.attributedText=strMutable;
    }
  

2.提取字符串

  NSRange startRange = [str rangeOfString:@"<"];
        NSRange endRange = [str rangeOfString:@">"];
        
       
        
        NSRange range = NSMakeRange(startRange.location + startRange.length, endRange.location - startRange.location - startRange.length);
        
        NSString *result = [str substringWithRange:range];
   
        NSMutableAttributedString *str = [[NSMutableAttributedString alloc]initWithString:[NSString stringWithFormat:result]];
       // NSRange contentRange = {1,[str length] - 1};
        NSRange contentRange = {1,[str length]-1};
        [str addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:contentRange];
        [str addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(1,[str length]-1)];
        label.attributedText = str;

相关文章

网友评论

    本文标题:ios 设置字符串中某段字符的颜色

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