ios UITextField扩展(子类)

时间:2012-01-23 17:31:25

标签: ios

我有一个标志,输入有白色背景和红色背景。我可以扩展UITextField并为其添加一些额外的功能,还是有更好的方式,而不是手动更改有错误的每个UITextField的背景?

此外,如果我执行自定义UITextField,有没有办法在Interface Builder中使用?{/ p>

1 个答案:

答案 0 :(得分:6)

创建一个实现您的功能的UITextField子类。然后在Interface Builder中,每当您将UITextField拖到视图上时,请将其在Inspector中的类设置为UITextField子类。

您仍然可以像常规的UITextField一样在IB中配置它,它在IB中看起来不会有任何不同,但是当您的应用程序运行时,它将具有您的自定义背景颜色。

请记住,如果要创建要在Interface Builder中使用的文本字段,则需要实现initWithCoder或awakeFromNib方法而不是initWithFrame方法,否则当您创建自定义安装代码时,将无法运行自定义安装代码。笔尖。

此外,您将无法在IB中设置子类的任何自定义属性,因此如果您需要红色文本字段和蓝色文本字段,如果要使用它们,则需要创建两个单独的子类在IB中,无需在代码中设置其属性。

更新:您不能在IB中设置自定义属性。您现在可以使用检查器中的“用户定义的运行时属性”面板。