button storyboard、xib中属性实时渲染

2016-01-14  本文已影响645人  ekg

先上效果

自定义button实时渲染

操作:

  • 1 引入YCButton.h,.m文件 或 自定义

自定义属性:

Board Enable: 是否开启边框, 默认关闭 (必须开启其他属性才能生效)
Board Color: 边框颜色, 默认浅灰色
Board With: 边框宽度, 默认为1
Masks To Bounds: 是否开启圆角, 默认关闭 (必须开启,圆角值才能生效)
Corner Radius: 圆角值, 默认为10

实现原理:

IB_DESIGNABLE

在定义类的前面加上IB_DESIGNABLE宏,确保该控件在xib或storyboard上可以实时渲染

IBInspectable

在定义类的属性前面加上IB_DESIGNABLE宏,确保该属性在xib或storyboard上可以展示

代码:YCButtonDemo

教程:如何设计一个 iOS 控件?(iOS 控件完全解析)

我做的改变:
如果只是单纯的要属性值和实时渲染,直接覆写setter方法便可以;为了控件初始化后具有默认效果,我重写了- (void)drawRect:(CGRect)rect 方法,该方法在uitbutton中会在属性的set方法执行完后再执行,也就是说,我在所有属性拿到值后做了自己的处理逻辑。

上一篇下一篇

猜你喜欢

热点阅读