ios UITextField扩展(子类)

Jac*_*nkr 0 ios

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

另外,如果我做一个自定义UITextField,有没有办法使用它Interface Builder

Nic*_*ood 6

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

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

请记住,如果要对要在Interface Builder中使用的文本字段进行子类化,则需要实现initWithCoder或awakeFromNib方法而不是initWithFrame方法,否则在由nib创建时,将不会运行自定义安装代码.

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

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