有时候我们需要修改UITextField的placeHolder的Color,我们可以在代码中这样写:
[textFiled setValue:placeholderColor forKeyPath:@"_placeholderLabel.textColor"];
但是每次都为textField专门写这么一行代码,我们作为一个有追求的人,能不能用些更优雅的方法实现这个需求呢?答案是用IBInspectable,通过IBInspectable可以定义动态属性,即可在attribute inspector面板中可视化修改属性值。
首先我们需要定义一个UITextField的子类,并且用IBInspectable声明一个属性,这里我顺便演示一下如何在Xib设置UITextField的leftView属性。代码如下:
接下来,我们从IB中拖一个UITextField到Xib中,并且将它的Class属性改为我们自定义的textField。
然后我们就可以看到IBInspectable声明的属性了。
最后,我们还需要重写IBInspectable声明属性的setter方法。
好了,小功告成。
c