码农的日常之iOS开发ios开发iOS进阶指南

使用IBInspectable在Xib中设置UITextFiel

2016-01-14  本文已影响1649人  _nameless

有时候我们需要修改UITextField的placeHolder的Color,我们可以在代码中这样写:

[textFiled setValue:placeholderColor forKeyPath:@"_placeholderLabel.textColor"];

       但是每次都为textField专门写这么一行代码,我们作为一个有追求的人,能不能用些更优雅的方法实现这个需求呢?答案是用IBInspectable,通过IBInspectable可以定义动态属性,即可在attribute inspector面板中可视化修改属性值。

      首先我们需要定义一个UITextField的子类,并且用IBInspectable声明一个属性,这里我顺便演示一下如何在Xib设置UITextField的leftView属性。代码如下:

继承textField并声明属性

接下来,我们从IB中拖一个UITextField到Xib中,并且将它的Class属性改为我们自定义的textField。

将Class属性改为自定义textField

然后我们就可以看到IBInspectable声明的属性了。

IBInspectable声明的属性出现在attribute inspector面板中

最后,我们还需要重写IBInspectable声明属性的setter方法。

重写setter方法

好了,小功告成。

c

上一篇下一篇

猜你喜欢

热点阅读