神奇的IB_DESIGNABLE和IBInspectable(xib中设置圆角)
- 情景:在很多中情况下我们需要设置
UIView
或者UIImageView
的圆角以及边框等,我们通常的做法是:- 1.代码创建的控件:利用代码设置
cornerRadius
(别忘记设置裁剪哦masksToBounds = YES
)和borderWidth
属性; - 2.在xib中你还有一种做法就是设置
Key Paht
;(注意:这里虽然设置了我们并不能立即在xib中看到设置后圆角效果,这是本文重点) - 3.设置圆形图片的话,还可以画一个圆形图片,详情可以移步这里;
- 1.代码创建的控件:利用代码设置
- 下面以在xib中设置圆角为例,说明
IB_DESIGNABLE
和IBInspectable
的神奇之处:
IB_DESIGNABLE
的具体使用方法:
IB_DESIGNABLE
的宏
的功能就是让XCode动态渲染
出该类图形化界面;使用
IB_DESIGNABLE
的方式,把该宏加在自定义类的前面;1.自定义一个
UIview
—YCCustomView
1 |
|
2.在xib中拖一个
UIView
,并修改类名为YCCustomView
这里还是利用
key Paht
设置圆角,即可动态刷新
我们的自定义View,效果图如下:说明:别忘记设置view的class为我们自定义的哦
IBInspectable
的具体使用方法:
- 我们在上面已经知道了
IB_DESIGNABLE
的使用,我们能立即看到设置的圆角效果(动态刷新
),但是有一个问题,我们通过设置Key Path
来设置是不是很麻烦~,下面我们通过一种更加直观的方式来设置,如下:
废话不多说,直接上代码:
1 |
|
重写set方法,根据可视化设置的值设置相关的属性
1 |
|
- 效果演示