//  颜色转换为背景图片
- (UIImage *)imageWithColor:(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 *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext(); return image;
}

使用例子

 - (void)viewDidLoad {
[super viewDidLoad]; UIButton *button1 = [[UIButton alloc] initWithFrame:CGRectMake(, , , )];
[button1 setTitle:@"button1" forState:UIControlStateNormal];
button1.backgroundColor = [UIColor orangeColor];
[button1 addTarget:self action:@selector(button1BackGroundHighlighted:) forControlEvents:UIControlEventTouchDown];
[button1 addTarget:self action:@selector(button1BackGroundNormal:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button1]; UIButton *button2 = [[UIButton alloc] initWithFrame:CGRectMake(, , , )];
[button2 setTitle:@"button2" forState:UIControlStateNormal];
[button2 setBackgroundImage:[self imageWithColor:[UIColor redColor]] forState:UIControlStateNormal];
[button2 setBackgroundImage:[self imageWithColor:[UIColor grayColor]] forState:UIControlStateHighlighted];
[self.view addSubview:button2];
}

效果如下图:

最新文章

  1. AudioSpecificConfig
  2. Javascript实现二级select联动
  3. IOS 核心动画之CAKeyframeAnimation - iBaby
  4. 《zw版·delphi与halcon系列原创教程》zw版_THImagex控件函数列表
  5. Vim Skills——Windows利用Vundle和Github进行Vim配置和插件的同步
  6. 如何让对象只在堆或者栈中分配空间ANDC++禁止一个类被继承
  7. Delta3D 2.8版本号 预习
  8. dubbo 的monitor监视器安装问题——————monitor一直处于正在启动状态
  9. Chrome浏览器扩展开发系列之十五:跨域访问的XMLHttpRequest对象
  10. 为什么说要搞定微服务架构,先搞定RPC框架?
  11. empty()和size()的优劣
  12. javascript之DOM编程根据属性找标签练习
  13. smarTTY总是失败连接的原因
  14. composer lavarel 安装
  15. Django框架(七)
  16. 1094 和为k的连续区间(暴力)
  17. [No0000183]Parallel Programming with .NET-How PLINQ processes an IEnumerable<T> on multiple cores
  18. Jq_SetTimeOut
  19. SDUTOJ2465:其实玩游戏也得学程序(bfs+优先队列+回溯)
  20. MongoDB(四):MongoDB连接和创建数据库

热门文章

  1. Python里的迭代器
  2. golang micro client 报错500 {"id":"go.micro.client","code":408,"detail":"call timeout: context deadline exceeded","status":"Request Timeout"}
  3. 洛谷 2152 [SDOI2009]SuperGCD
  4. Codeforces Round #577 (Div 2)
  5. Fiddler快速入门
  6. wpf 登录时显示状态动态图
  7. CSipsimple最新版本编译
  8. 微信小程序弹框wx.showModal如何修改样式
  9. 2019-1-16-git-subtree-pull-错误-Working-tree-has-modifications
  10. jq制作tab栏