使用IBInspectable在Xib中设置UITextField的placeholderColor

有时候我们需要修改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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容