sunshinelww

执着的程序员.

要有最朴素的生活和最遥远的梦想,即使明日天寒地冻、路遥马亡 .


设置UIButton背景颜色的正确姿势

通常设置按钮背景颜色,我们采用 setBackgroundColor:(UIColor*)color方法,但这只能设置UIControlStateNormal状态下的按钮背景颜色。采用根据color创建按钮的背景图片,然后设置按钮的背景图片可以有效设置按钮在不同状态下的背景颜色。

//根据背景颜色创建图片
- (UIImage *)imageFromColor:(UIColor *)color
{
    CGRect rect = CGRectMake(0, 0, 1, 1);
    UIGraphicsBeginImageContextWithOptions(rect.size, NO, [UIScreen mainScreen].scale);
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetFillColorWithColor(context, color.CGColor);
    CGContextFillRect(context, rect);
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return image;
}

//设置按钮背景颜色
 UIColor *color = [self colorWithRGBHexString:@"#049DFF"];
 UIImage *normalBack = [self imageFromColor:color];
 [button setBackgroundImage:normalBack forState:UIControlStateNormal];

通过这种方式,我们可以通过这种方式同时设置UIControlStateNormal和UIControlStateHighlighted两种状态的背景颜色

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦