本文介紹一些關于富文本的簡單運用垂蜗,分享一下開發(fā)中遇到的問題及解決方案裙顽;
NSString *str = [NSString stringWithFormat:@"原價%zd元,折扣價%.0f元杨箭,共節(jié)省%.0f元",totalPrice,zkPrice,popBetween];
NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:str];
NSString *total = [NSString stringWithFormat:@"%zd",totalPrice];
NSString *discount = [NSString stringWithFormat:@"%.0f",zkPrice];
NSString *save = [NSString stringWithFormat:@"%.0f",popBetween];
/*
//刪除線 - ios 10.3之后不支持 NSStrikethroughStyleAttributeName方法鹅心,有NSUnderlineStyle時
[attrStr addAttribute:NSStrikethroughStyleAttributeName value:@(NSUnderlinePatternSolid | NSUnderlineStyleSingle) range:NSMakeRange(2, total.length)];
[attrStr addAttribute:NSStrikethroughColorAttributeName value:[UIColor redColor] range:NSMakeRange(2, total.length)];
*/
//刪除線 - 兼容ios 10.3以上版本
[attrStr addAttributes:@{
NSStrikethroughStyleAttributeName:@(NSUnderlineStyleSingle),
NSForegroundColorAttributeName:
[UIColor redColor],
NSBaselineOffsetAttributeName:
@(0),
NSFontAttributeName: [UIFont systemFontOfSize:15]
} range:NSMakeRange(2, total.length)];
[attrStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(2, total.length)];
[attrStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(7 + total.length, discount.length)];
[attrStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(12 + total.length + discount.length, save.length)];
_youhuiLabel.attributedText = attrStr;
富文本設置,下列參考于:http://www.cnblogs.com/goodboy-heyang/p/5143135.html
NSFontAttributeName 設置字體屬性澈圈,默認值:字體:Helvetica(Neue) 字號:12
NSForegroundColorAttributeNam 設置字體顏色彬檀,取值為 UIColor對象,默認值為黑色
NSBackgroundColorAttributeName 設置字體所在區(qū)域背景顏色瞬女,取值為 UIColor對象窍帝,默認值為nil, 透明色
NSLigatureAttributeName 設置連體屬性,取值為NSNumber 對象(整數(shù))诽偷,0 表示沒有連體字符坤学,1 表示使用默認的連體字符
NSKernAttributeName 設定字符間距,取值為 NSNumber 對象(整數(shù))报慕,正值間距加寬深浮,負值間距變窄
NSStrikethroughStyleAttributeName 設置刪除線,取值為 NSNumber 對象(整數(shù))
NSStrikethroughColorAttributeName 設置刪除線顏色眠冈,取值為 UIColor 對象飞苇,默認值為黑色
NSUnderlineStyleAttributeName 設置下劃線菌瘫,取值為 NSNumber 對象(整數(shù)),枚舉常量 NSUnderlineStyle中的值布卡,與刪除線類似
NSUnderlineColorAttributeName 設置下劃線顏色雨让,取值為 UIColor 對象,默認值為黑色
NSStrokeWidthAttributeName 設置筆畫寬度忿等,取值為 NSNumber 對象(整數(shù))栖忠,負值填充效果,正值中空效果
NSStrokeColorAttributeName 填充部分顏色贸街,不是字體顏色庵寞,取值為 UIColor 對象
NSShadowAttributeName 設置陰影屬性,取值為 NSShadow 對象
NSTextEffectAttributeName 設置文本特殊效果薛匪,取值為 NSString 對象捐川,目前只有圖版印刷效果可用:
NSBaselineOffsetAttributeName 設置基線偏移值,取值為 NSNumber (float),正值上偏蛋辈,負值下偏
NSObliquenessAttributeName 設置字形傾斜度属拾,取值為 NSNumber (float),正值右傾将谊,負值左傾
NSExpansionAttributeName 設置文本橫向拉伸屬性冷溶,取值為 NSNumber (float),正值橫向拉伸文本,負值橫向壓縮文本
NSWritingDirectionAttributeName 設置文字書寫方向尊浓,從左向右書寫或者從右向左書寫
NSVerticalGlyphFormAttributeName 設置文字排版方向逞频,取值為 NSNumber 對象(整數(shù)),0 表示橫排文本栋齿,1 表示豎排文本
NSLinkAttributeName 設置鏈接屬性苗胀,點擊后調用瀏覽器打開指定URL地址
NSAttachmentAttributeName 設置文本附件,取值為NSTextAttachment對象,常用于文字圖片混排
NSParagraphStyleAttributeName 設置文本段落排版格式,取值為 NSParagraphStyle 對象