使用catagory类别给控件加边框
为什么80%的码农都做不了架构师?>>>
在项目中经常需要给view button 等 加边框 每次都要自己堆代码 感觉很费劲
self.addWayBtn.layer.borderWidth=1;
self.addWayBtn.layer.borderColor=[UIColor colorWithRed:255/255.0 green:111/255.0 blue:1/255.0 alpha:1].CGColor;
这两句代码 写了一遍又一遍 实在是烦!既然圆角都可以用layer.cornerRadius在xib中keypath中写出那么为什么不把layer.borderColor也写进去呢
因为keypath 里边只有color所以我们就要用到catagory了
这里提供两种方式 都可以做到
方法1:
.h
@property (nonatomic,strong)UIColor*borderUIColor;
.m
-(void)setBorderUIColor:(UIColor *)color
{self.borderColor=color.CGColor;
}
-(UIColor*)borderUIColor
{return [UIColor colorWithCGColor:self.borderColor];
}
此时就可以使用属性啦:
方法2:
.h
@property(nonatomic, strong) UIColor *borderColorFromUIColor;
- (void)setBorderColorFromUIColor:(UIColor *)color;
.m
(记得引入头文件#import <objc/runtime.h>)
- (UIColor *)borderColorFromUIColor {return objc_getAssociatedObject(self, @selector(borderColorFromUIColor));}-(void)setBorderColorFromUIColor:(UIColor *)color{objc_setAssociatedObject(self, @selector(borderColorFromUIColor), color, OBJC_ASSOCIATION_RETAIN_NONATOMIC);[self setBorderColorFromUI:[self borderColorFromUIColor]];}- (void)setBorderColorFromUI:(UIColor *)color{self.borderColor = color.CGColor;NSLog(@"%@", color);}
此时也可以使用了
你get到了么?
转载于:https://my.oschina.net/rainwz/blog/680553
使用catagory类别给控件加边框相关推荐
- android studio自定义边框,Android Studio给各种控件加边框的操作方法
Android Studio给Textview,EditText控件加边框 如图所示,给一些edittext,TextView,还有一些控件组,进度条加上一个粉红色的边框. 看着很好看,其实非常简单, ...
- Android Studio给各种控件加边框
Android Studio给Textview,EditText控件加边框 如图所示,给一些edittext,TextView,还有一些控件组,进度条加上一个粉红色的边框. 看着很好看,其实非常简单, ...
- java 给控件添加边框_Android UI 利用Drawable Shape给控件加边框/立体效果
在软开中,经常需要对原生的控件UI进行修改,最近项目由于UI没到位,所有有些带边框的有立体效果的UI要自己实现,实现方法是用XML写Shape. ListView Items加边框构成立体效果: 通过 ...
- android聚焦时如何给控件加边框,edittext设置获得焦点时的边框颜色
第一步:为了更好的比较,准备两个一模一样的EditText(当Activity启动时,焦点会在第一个EditText上,如果你不希望这样只需要写一个高度和宽带为0的EditText即可避免,这里就不这 ...
- paip.gui控件tabs控件加载内容的原理以及easyui最佳实现
paip.gui控件tabs控件加载内容的原理以及easyui最佳实现 //tabs控件的加载 同form窗体一样,俩个方式 两个方式:一个是url,简单的文本可以使用这个,不适合事件的情形.. 一个 ...
- 在Paint事件中绘制控件(边框)
在Paint事件中绘制控件(边框) 单纯的自己记录,将来会继续添加,侥幸被大家发现了的话请不要太鄙视... private void panel4_Paint(object sender, Paint ...
- 虚拟列表控件---加载大数据行
平常所用到的列ListView/ListCtrl控件,都是只有行至几百行数据,直至今日,在项目中遇到了上10W量级数据条,终于感觉到普通加载的艰辛,遂到网上乱找一通,发现大同小异,转载了这篇比较详细的 ...
- Android使用webview控件加载本地html,通过Js与后台Java实现数据的传递
1.在布局文件中加WebView控件,在java中获取WebView对象. 2.加载本地html文件. webView.loadUrl("file:///android_asset/andr ...
- 利用aspnetPager控件加存储过程实现对gridview的分页
gridview是asp.net常用的显示数据控件,对于.net开发人员来说应该是非常的熟悉了.gridview自带有许多功能,包括分页,排序等等,但是作为一个.net开发人员来说熟练掌握利用存储过程 ...
最新文章
- mac升级后虚拟机无法启动_使用了自家M1处理器后,苹果新一代Mac迎来三大重点升级...
- 大厂不一定要进,算法必须要学!精选算法文章 89 篇
- python3随笔-相关系数
- FE.ENV-manjaro虚拟机配置和常见前端工具安装
- 《高性能JavaScript》第五章 字符串和正则表达式
- echart关系树状图_干货 | 25个常用Matplotlib图的Python代码
- tensorflow lstm从隐状态到预测值_机器学习100天-Day2405 循环神经网络RNN(LSTM)
- 神经网络与深度学习——TensorFlow2.0实战(笔记)(五)(NumPy科学计算库<2>python)
- 水滴公司再回应“线下违规”:核心是公司的管理问题
- matlab 曲面拟合_利用python进行曲面拟合并进行3D显示
- linux下怎么查看一个动态库链接了其他哪些库
- 系统科学专业 计算机,2018年北京市培养单位数学与系统科学研究院863计算机学科综合(专业)之计算机操作系统考研核心题库...
- linux常用命令详解和用法_详解Linux shell用法中常用命令--read(传参)
- 批改网作文提交时分析不出来_推荐一款免费英语写作批改软件
- GAN生成图像质量的两个评价指标——IS与FID
- Python爬虫豆瓣T250电影
- shell输出毫秒_Shell获取毫秒时间
- java 串行_java串行化
- 创建一个xposed模块Demo
- c语言等级分制度的作用,使用C语言怎么对学生的成绩等级进行划分
热门文章
- Fuzzy SVM with a new fuzzy membership function--文献翻译
- 微分几何与广义相对论教程
- 网卡驱动收包代码分析之 page reuse
- Docker swarm搭建及常用命令、yml文件
- Python自动化:批量合并某个文件夹内子文件夹的所有Excel,并新增两列分别备注文件路径和子sheet名
- 算法设计与分析——动态规划
- python语音验证码识别_python语音验证码接口_python语音接口_python语音验证码_语音验证码代码示例_互亿无线...
- syntaxerror:_解决SyntaxError:解析时出现意外的EOF
- 微信开发-业务域名、JS接口安全域名、网页授权域名
- 多层神经网络的局部最小值与全局最小值——The problem of convexity