码迷,mamicode.com
首页 > 移动开发 > 详细

iOS Coding项目片段记录(一)

时间:2016-11-04 16:28:51      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:return   setattr   ges   read   .com   int   uicolor   import   attr   

根据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项目片段记录(一)

标签:return   setattr   ges   read   .com   int   uicolor   import   attr   

原文地址:http://www.cnblogs.com/741162830qq/p/6030614.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!