colorAndeImage


UIButton设置背景图片时,是需要一张图片才可以。但是我又想直接通过UIColor来设置,那怎么办?

有个方法是可以将UIColor转化成UIImage对象,可以画出图片,不用让美工MM去设计一张图片,省时间,实际项目还是做成图片的好。

方法

//颜色转换图片

+(UIImage*) createImageWithColor:(UIColor*) color

{

CGRect rect=CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);

UIGraphicsBeginImageContext(rect.size);

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetFillColorWithColor(context, [color CGColor]);

CGContextFillRect(context, rect);

UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return theImage;

}

使用

//调用方式

[registerButton setBackgroundImage:[self createImageWithColor:UIColorFromRGB(0xff584e)] forState:UIControlStateHighlighted];

扩展知识

0xff584e相当于css样式文件中的ff584e,在IOS中我们需要在前面加个0x,RGB颜色转换 (16进制=》10进制),需要用到方法UIColorFromRGB

你可能感兴趣的:(colorAndeImage)