TA的每日心情 | 开心 2021-12-13 21:45 |
---|
签到天数: 15 天 [LV.4]偶尔看看III
|
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
|
|