代码自定义双色title的按钮
所图所示,通过代码自定义这样的按钮。
.h文件
// // CustomButtom.h // testPlus // // Created by 鹰眼 on 14/10/20. // Copyright (c) 2014年 QCloud. All rights reserved. // #import <UIKit/UIKit.h> #define KDefaultColor [UIColor colorWithRed:66/255.0 green:189/255.0 blue:146/255.0 alpha:1.0] @interface CustomButtom : UIButton -(void)setNumber:(NSString *)number andTitle:(NSString *)title; @end
.m文件
// // CustomButtom.m // testPlus // // Created by 鹰眼 on 14/10/20. // Copyright (c) 2014年 QCloud. All rights reserved. // #import "CustomButtom.h" @implementation CustomButtom -(instancetype)initWithFrame:(CGRect)frame { self=[super initWithFrame:frame]; if (self) { self.backgroundColor=[UIColor groupTableViewBackgroundColor]; self.titleLabel.numberOfLines=0; self.titleLabel.textAlignment=NSTextAlignmentCenter; self.titleLabel.font=[UIFont systemFontOfSize:16.0]; self.backgroundColor=[UIColor colorWithRed:53/255.0 green:65/255.0 blue:72/255.0 alpha:1.0]; } return self; } -(void)setNumber:(NSString *)number andTitle:(NSString *)title { [self setAttributedTitle:[self content:[NSString stringWithFormat:@"%@\n%@",number,title] colorString:number] forState:UIControlStateNormal]; } -(NSAttributedString *)content:(NSString *)content colorString:(NSString *)search { NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] initWithString:content]; [attString addAttribute:(NSString*)NSForegroundColorAttributeName value:[UIColor whiteColor] range:[content rangeOfString:content]]; [attString addAttribute:(NSString*)NSForegroundColorAttributeName value:KDefaultColor range:[content rangeOfString:search]]; return attString; } @end
通过这样就可以自定义拥有两个颜色的按钮了,完全可以不用图片实现。