您的位置:首页 > 其它

同一字符串显示不同风格

2015-08-18 15:19 295 查看
加红色删除线
NSString *oldPrice = @"价格: 69.00-129.00";
NSUInteger length = [oldPrice length];

NSMutableAttributedString *attri = [[NSMutableAttributedString alloc] initWithString:oldPrice];
[attri addAttribute:NSStrikethroughStyleAttributeName value:@(NSUnderlinePatternSolid | NSUnderlineStyleSingle) range:NSMakeRange(4, length-4)];
[attri addAttribute:NSStrikethroughColorAttributeName value:[UIColor redColor] range:NSMakeRange(4, length-4)];
[cell.detailTextLabel setAttributedText:attri];
cell.detailTextLabel.textColor = [UIColor grayColor];
计算文本size
-(CGSize)boundingRectWithSize:(CGSize)size
withTextFont:(UIFont *)font
withLineSpacing:(CGFloat)lineSpacing
{
NSMutableAttributedString *attributedText = [self attributedStringFromStringFont:font withLineSpacing:lineSpacing ];
CGSize textSize = [attributedText boundingRectWithSize:size
options:NSStringDrawingUsesLineFragmentOrigin
context:nil].size;
return textSize;
}

拼接不同颜色,字号文本

UILabel *label=(UILabel *)[self.contentView viewWithTag:100];
NSString *detailAddress=label.text;

NSMutableParagraphStyle *paragraphStyle=[[NSMutableParagraphStyle alloc]init];
[paragraphStyle setLineSpacing:2];

NSAttributedString *attrString=[[NSAttributedString alloc]initWithString:@"[默认] " attributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont boldSystemFontOfSize:14],NSFontAttributeName,[UIColor colorWithRed:244/255.0 green:164/255.0 blue:96/255.0 alpha:1.0],NSForegroundColorAttributeName, nil]];

NSAttributedString *attrContent=[[NSAttributedString alloc]initWithString:detailAddress attributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:15],NSFontAttributeName,[UIColor blackColor],NSForegroundColorAttributeName,paragraphStyle,NSParagraphStyleAttributeName, nil]];

NSMutableAttributedString *mAttrString=[[NSMutableAttributedString alloc]initWithAttributedString:attrString];
[mAttrString appendAttributedString:attrContent];

[label setAttributedText:mAttrString];
改变部分字体颜色

NSString *str = [NSString stringWithFormat:@"快递费用: ( ¥%@ )",pack_fee];

NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc]initWithString:str];

[attributeStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(8, pack_fee.length+1)];
Express.attributedText =attributeStr;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: