给UIButton设置BackgroundColor:forState
2016-03-16 20:01
369 查看
本文来源地址: http://www.osjoin.com/ios/12.html
洲洲哥在写这篇文章的时候,我想起了之前写过的一篇文章
《 iOS给UIButton添加一个新的属性》,大家在读这篇文章前可以先复习一下哦。。。。
今天带来的就是利用延展做一个偷懒的事情。。
在开发过程中要设置一个uibutton的背景颜色并且要分当前按钮的状态的时候。那写的就是相当费劲的。不过哥吃饱了。这种费力讨好的事情 就让洲洲哥代劳吧!!!
废话不多说,上代码。。。<各位此处应该有笑声,,如果有请持续5秒钟>
先看看 利用这个延展的调用代码:
和我们平常设置button的时候一样,so easy
添加一个延展名字当然是对uibutton的延展咯(这里同时也对button添加了一个titleNmae的属性)
首先看.h文件的写法
下面是.m的写法
上面就是咯,这次装逼到此结束。掌声吧各位。
提高更多装逼能力,请关注我的微信公众号,不定期发送洲洲哥在工作中遇见问题的解决方法和干货哦
洲洲哥在写这篇文章的时候,我想起了之前写过的一篇文章
《 iOS给UIButton添加一个新的属性》,大家在读这篇文章前可以先复习一下哦。。。。
今天带来的就是利用延展做一个偷懒的事情。。
在开发过程中要设置一个uibutton的背景颜色并且要分当前按钮的状态的时候。那写的就是相当费劲的。不过哥吃饱了。这种费力讨好的事情 就让洲洲哥代劳吧!!!
废话不多说,上代码。。。<各位此处应该有笑声,,如果有请持续5秒钟>
先看看 利用这个延展的调用代码:
[self.itemBtn setBackgroundColor:YSColor(254, 245, 245) forState:UIControlStateNormal]; [self.itemBtn setBackgroundColor:YSColor(252, 94, 94) forState:UIControlStateSelected];
和我们平常设置button的时候一样,so easy
[self.itemBtn setTitleColor:YSColor(110, 110, 110) forState:UIControlStateNormal]; [self.itemBtn setTitleColor:YSColor(255, 255, 255) forState:UIControlStateSelected];下面开始展示代码咯
添加一个延展名字当然是对uibutton的延展咯(这里同时也对button添加了一个titleNmae的属性)
首先看.h文件的写法
#import <UIKit/UIKit.h> @interface UIButton (FillColor) - (void)setBackgroundColor:(UIColor *)backgroundColor forState:(UIControlState)state; @property (nonatomic, strong) NSString * titleName; @end
下面是.m的写法
#import "UIButton+FillColor.h" #import "objc/runtime.h" static const void * titleNameBy = &titleNameBy; @implementation UIButton (FillColor) @dynamic titleName; // 添加自定义属性 -(void)setTitleName:(NSString *)titleName { objc_setAssociatedObject(self, titleNameBy, titleName, OBJC_ASSOCIATION_COPY_NONATOMIC); } -(NSString *)titleName { return objc_getAssociatedObject(self, titleNameBy); } // 设置背景颜色for state - (void)setBackgroundColor:(UIColor *)backgroundColor forState:(UIControlState)state { [self setBackgroundImage:[UIButton imageWithColor:backgroundColor] forState:state]; } // 设置颜色 + (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; } @end
上面就是咯,这次装逼到此结束。掌声吧各位。
提高更多装逼能力,请关注我的微信公众号,不定期发送洲洲哥在工作中遇见问题的解决方法和干货哦
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用中UISearchDisplayController搜索效果的用法
- IOS开发环境windows化攻略
- iOS应用中UITableView左滑自定义选项及批量删除的实现
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- iOS推送的那些事
- IOS 改变键盘颜色代码