iOS中根据按钮的不同点击状态,改变按钮的背景色

在开发中,我们会遇到这样的一种需求,就是根据按钮的不同点击状态,改变其不同的背景色,然而在改变按钮的背景色中,只能改变其背景色,并没有根据不同状态,改变其背景色的方法。但是,我们发现,在设置其背景图片的方法中是能够选择按钮的不同状态,那么我们是不是可以设置不同的背景图片的颜色来实现这一需求,具体的代码如下:

- (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;
}

再用如下的方法就可以了

[self.but setBackgroundImage:[self imageWithColor:[UIColor blackColor]] forState:UIControlStateNormal];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,724评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,228评论 4 61
  • 时间观决定人的视野与格局。 能预判未来,叫有远见;因为蝇头小利,牲掉了未来,叫做短视。一远一短,都是形容时间的。 ...
    刘大宝_d341阅读 2,944评论 0 0
  • 道生一,一生二,二生三,三生万物。 2005年,文艺青年王微创立土豆网,使用他在酒吧便条写下的一行字作为广告语:每...
    rivert阅读 2,828评论 0 0
  • ❁无题 其一 灯火彻夜不休 倚着栏杆抽烟取暖的人 心里响起极细微的回音 时日如同被抽去丝线的茧 越到最后越赤裸 谁...
    糖不甜了阅读 2,607评论 0 6