IBInspectable 和IB_DESIGNABLE动态刷新IB

本文详细介绍了如何使用IBInspectable和IB_DESIGNABLE来实现UI属性的动态刷新,通过实例展示了如何在AttributesInspector和InterfaceBuilder中实时查看UI更新,以及在工程初始化阶段遇到的问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

IBInspectable

很简单。2张图展示它的效果和作用
这里写图片描述
这里写图片描述
在没有添加IBInspectable的属性,只能在indentity inspector中的User Defineed Runtime Attributes中添加它的属性。在Attributes Inspector是没有显示这些属性的。
这里写图片描述
而加了IBInspectable的属性,则会在Attributes Inspector中显示出来。

IB_DESIGNABLE

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值