IBInspectable 和IB_DESIGNABLE动态刷新IB

嗯,大概了解了一下IBInspectable 和IB_DESIGNABLE,感觉真心好用,起码不用每次都要编译完之后才能够看见自己定义的UI时说明效果的了。有时候心中的相信和真实呈现的差距的确很大的。

简单的说下自己的感觉。
IBInspectable 就是能在attributes inspector 中显示自己定义的那些属性
IB_DESIGNABLE 就是能在IB上动态显示UI的更新变化

下面上图说明IBInspectable 和IB_DESIGNABLE是怎么动态刷新IB的

IBInspectable

很简单。2张图展示它的效果和作用
IBInspectable 和IB_DESIGNABLE动态刷新IB_第1张图片
IBInspectable 和IB_DESIGNABLE动态刷新IB_第2张图片
在没有添加IBInspectable的属性,只能在indentity inspector中的User Defineed Runtime Attributes中添加它的属性。在Attributes Inspector是没有显示这些属性的。
IBInspectable 和IB_DESIGNABLE动态刷新IB_第3张图片
而加了IBInspectable的属性,则会在Attributes Inspector中显示出来。

IB_DESIGNABLE

这个时候还没可以在IB中动态刷新属性改变之后的UI。
IBInspectable 和IB_DESIGNABLE动态刷新IB_第4张图片
在.h文件中添加IB_DESIGNABLE后,我们再修改IBInspectable,就可以看见IB中的UI随着Attributes Inpspector一起改变了~
IBInspectable 和IB_DESIGNABLE动态刷新IB_第5张图片
是不是很厉害。

在这个过程中,发现了一个问题。就是刚刚创建工程,还没有加入IB_DESIGNABLE的时候,IB的ui时不会动态刷新的,加入之后可以动态刷新了,接着我把IB_DESIGNABLE删除了,可是IB的UI还是会动态刷新。这是为什么呢?

你可能感兴趣的:(IOS,IB)