display different font colors depending on the lable status in UIButton
Effect
#import<UIKit/UIKit.h>#defineRGB (r,g,b) [Uicolor colorwithred:r/255.0f green:g/255.0f blue:b/255.0f alpha:1.0f]#defineDefaulttextnomalcolor RGB (167,160,160)#defineDefaulttextselectedcolor [Uicolor colorwithpatternimage:[uiimage imagenamed:[fuserinfo ShareSingleton].navibar_bg_ Image]]@interfaceUIButton (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"@implementationUIButton (RichText)//sets the color style for different text displays based on length+ (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]; returnattributedstr;}+ (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 Project Fragment record (i)