渲染 UITextField 时调用什么方法

What method is called when UITextField is rendered

我想制作一个 UITextField 的子class 来自动改变它的样式。

我尝试了 subclass 并覆盖了 init 方法:

- (id)init
{
    self = [super init];
    if (self) {
        self.layer.borderWidth = 1.0;
        self.layer.borderColor = [[StyleKit2 blue]CGColor];
        self.layer.cornerRadius = 5.0;
    }
    return self;
}

然后我将其设置为情节提要中的自定义 class。

但不影响textview。

试试这些链接 How to write a Custom UItextField Class , iOS - Implementing a Class for UITextField , http://pivotallabs.com/iphone-on-blocks-uitextfields/

您可以将相同的代码放入 awakeFromNib:

-(void)awakeFromNib
{
    [super awakeFromNib]; 

    self.textFieldx.layer.borderWidth =1.0;
    self.layer.borderColor = [[StyleKit2 blue]CGColor];
    self.layer.cornerRadius = 5.0;

}

您也可以尝试在 initWithFrame 中覆盖它。

您可以在用户定义的运行时属性(第三个选项卡)中的界面构建器中添加这些属性,颜色除外。在界面生成器中,您可以设置 UIColor,但您需要为 borderColor 使用 CGColor。