首页 > 代码库 > iOS Coding项目片段记录(一)

iOS Coding项目片段记录(一)

根据UIbutton中lable状态的不同显示不同的字体颜色
效果如图:
技术分享

#import
<UIKit/UIKit.h>#define RGB(r,g,b) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:1.0f]#define DefaultTextNomalColor RGB(167,160,160)#define DefaultTextSelectedColor [UIColor colorWithPatternImage:[UIImage imageNamed:[FUserInfo shareSingleton].navibar_bg_image]]@interface UIButton (richText)+ (NSMutableAttributedString*)titleRichInfoStr:(NSString *)strInfo normalRange:(NSRange)normalRange normalColor:(UIColor *)normalColor selectedRange:(NSRange)selectedRange selectedColor:(UIColor *)selectedColor;+ (void)allButtonShowStrInfoButton:(UIButton *)button infoStr:(NSString *)str;+ (void)unReadButtonShowStrInfoButton:(UIButton *)button infoStr:(NSString *)str;+ (void)trashButtonShowStrInfoButton:(UIButton *)button infoStr:(NSString *)str;@end
#import "UIButton+richText.h"@implementation UIButton (richText)//根据长度来设置不同文字显示的颜色 样式+ (NSMutableAttributedString*)titleRichInfoStr:(NSString *)strInfo normalRange:(NSRange)normalRange normalColor:(UIColor *)normalColor selectedRange:(NSRange)selectedRange  selectedColor:(UIColor *)selectedColor  {    NSMutableAttributedString *AttributedStr = [[NSMutableAttributedString alloc]initWithString:strInfo];    [AttributedStr addAttribute:NSForegroundColorAttributeName                          value:normalColor                          range:normalRange];    [AttributedStr addAttribute:NSForegroundColorAttributeName                          value:selectedColor                          range:selectedRange];        return AttributedStr;}+ (void)allButtonShowStrInfoButton:(UIButton *)button infoStr:(NSString *)str{    NSMutableAttributedString *allNormalStr = [self titleRichInfoStr:str normalRange:NSMakeRange(0, 2) normalColor:DefaultTextNomalColor selectedRange:NSMakeRange(2, str.length-2) selectedColor:DefaultTextNomalColor];    NSMutableAttributedString *allSelectStr = [self titleRichInfoStr:str normalRange:NSMakeRange(0, 2) normalColor:DefaultTextSelectedColor selectedRange:NSMakeRange(2, str.length-2) selectedColor:DefaultTextNomalColor];    [button setAttributedTitle:allNormalStr forState:UIControlStateNormal];    [button setAttributedTitle:allSelectStr forState:UIControlStateSelected];}+ (void)unReadButtonShowStrInfoButton:(UIButton *)button infoStr:(NSString *)str {    NSMutableAttributedString *AttributedStr = [self titleRichInfoStr:str normalRange:NSMakeRange(0, 2) normalColor:DefaultTextNomalColor selectedRange:NSMakeRange(2, str.length-2) selectedColor:[UIColor redColor]];    NSMutableAttributedString *AttributedSeletedStr = [self titleRichInfoStr:str normalRange:NSMakeRange(0, 2) normalColor:DefaultTextSelectedColor selectedRange:NSMakeRange(2, str.length-2) selectedColor:[UIColor redColor]];    [button setAttributedTitle:AttributedStr forState:UIControlStateNormal];    [button setAttributedTitle:AttributedSeletedStr forState:UIControlStateSelected];}+ (void)trashButtonShowStrInfoButton:(UIButton *)button infoStr:(NSString *)str {    NSMutableAttributedString *trashNormalStr = [self titleRichInfoStr:str normalRange:NSMakeRange(0, 3) normalColor:DefaultTextNomalColor selectedRange:NSMakeRange(3, str.length-3) selectedColor:DefaultTextNomalColor];    NSMutableAttributedString *trashSelectStr = [self titleRichInfoStr:str normalRange:NSMakeRange(0, 3) normalColor:DefaultTextSelectedColor selectedRange:NSMakeRange(3, str.length-3) selectedColor:DefaultTextNomalColor];    [button setAttributedTitle:trashNormalStr forState:UIControlStateNormal];    [button setAttributedTitle:trashSelectStr forState:UIControlStateSelected];}@end

 

iOS Coding项目片段记录(一)