动态预览Xib的实现

写一个TestView继承于UIView,然后写个对应的xib,把xib的名字设置成TestView,这是标准的用xib加载这个view必须得条件

然后xib里把这个View的backgroundColor设置为黑色,恩,看起来就是黑色的。

屏幕快照 2015-01-07 下午7.54.40

如果想要把背景色改为棕色或者更复杂的事情,那么就需要改代码然后编译运行看效果,那么本文章介绍的新功能就是打破这个僵局的。

在TestView类前面写@IBDesignable,且一定要保证实现initWithFrame和initWithCoder方法,因为预览会调用initWithFrame,且ib加载会调用initWithCoder,两者一定要实现,还要实现prepareForInterfaceBuilder方法来改变一些属性,如下

然后看TestView.xib会神奇的发现上面显示building,然后画面变成了棕色,但是IB设置还是之前的黑色

A3B0084E-77F1-44B8-846E-9912762BA96A

那么,这么修改只能是第一次启动的时候预览Xib,我们可以设定一个属性放在Xcode的右边栏,这样可以实时的修改这个属性预览,方法是使用@IBInspectable,比如还是背景色这个属性,下面将会把bgColor这个属性放到右边栏去

注释掉prepareForInterfaceBuilder,然后添加下面两个方法给TestView

这样的话bgColor这个属性就跑到右面去了,就可以实时修改背景色了

屏幕快照 2015-01-07 下午8.09.30

此外,XIB视图预览还可以设置断点,方法是代码里设置断点,然后Editor -> Debug Selected Views(以前是automatic那个),比如在修改背景色那里设置断点,再修改背景色就会断在那里了,暂时就这些

原文地址:https://www.cnblogs.com/fuunnyy/p/5168524.html