//自定义button设置背景色的方法
- (void)setBackgroundColor:(UIColor *)color forState:(UIControlState)state{
[self setBackgroundImage:[self buttonImageFromColor:color] forState:state];
}
- (UIImage *) buttonImageFromColor:(UIColor *)color {
CGRect rect = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
}
原文:http://my.oschina.net/u/1782374/blog/479850