ios設置行間距和部分文本顏色
阿新 • • 發佈:2017-11-08
bold add spa urn line range nsstring dst ram
/** * 設置行間距和字間距 * * @param lineSpace 行間距 * @param kern 字間距 * * @return 富文本 */ -(NSMutableAttributedString *)getAttributedStringWithLineSpace:(NSString *) text lineSpace:(CGFloat)lineSpace kern:(CGFloat)kern { NSMutableParagraphStyle * paragraphStyle = [NSMutableParagraphStyle new]; //調整行間距paragraphStyle.lineSpacing= lineSpace; paragraphStyle.alignment = NSTextAlignmentLeft; paragraphStyle.lineSpacing = lineSpace; //設置行間距 paragraphStyle.firstLineHeadIndent = 30.0;//設置第一行縮進 NSDictionary*attriDict =@{NSParagraphStyleAttributeName:paragraphStyle,NSKernAttributeName:@(kern)}; NSMutableAttributedString* attributedString = [[NSMutableAttributedString alloc] initWithString:text attributes:attriDict]; return attributedString; } /** * 富文本部分字體設置顏色 * * @param text 文本 * @param highlightText 設置顏色的文本 * * @return 富文本 */ - (NSMutableAttributedString *)setupAttributeString:(NSString *)text highlightText:(NSString *)highlightText { NSRange hightlightTextRange= [text rangeOfString:highlightText]; NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc] initWithString:text]; if (hightlightTextRange.length > 0) { [attributeStr addAttribute:NSForegroundColorAttributeName value:[HBPlistResourceUtil colorWithName:@"mainColor"] range:hightlightTextRange]; [attributeStr addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:15.0f] range:hightlightTextRange]; return attributeStr; }else { return [highlightText copy]; } }
兩者結合:
/** * 設置行間距、字間距和文本顏色 * * @param lineSpace 行間距 * @param kern 字間距 * @param colorText 設置顏色的文本 * * @return 富文本 */ -(NSMutableAttributedString *)getAttributedStringWithLineSpace:(NSString *) text lineSpace:(CGFloat)lineSpace kern:(CGFloat)kern colorText:(NSString *) colorText{ NSMutableParagraphStyle * paragraphStyle = [NSMutableParagraphStyle new]; //調整行間距 paragraphStyle.lineSpacing= lineSpace; paragraphStyle.alignment = NSTextAlignmentLeft; paragraphStyle.lineSpacing = lineSpace; //設置行間距 paragraphStyle.firstLineHeadIndent = 30.0;//設置第一行縮進 NSDictionary*attriDict =@{NSParagraphStyleAttributeName:paragraphStyle,NSKernAttributeName:@(kern)}; NSRange colorTextRange = [text rangeOfString:colorText]; NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc] initWithString:text]; //設置文本顏色 [attributeStr addAttribute:NSForegroundColorAttributeName value:[HBPlistResourceUtil colorWithName:@"mainColor"] range:colorTextRange]; [attributeStr addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:15.0f] range:colorTextRange]; [attributeStr addAttributes:attriDict range:NSMakeRange(0, [text length])]; return attributeStr; }
ios設置行間距和部分文本顏色