UITextField 渲染时调用啥方法

Posted

技术标签:

【中文标题】UITextField 渲染时调用啥方法【英文标题】:What method is called when UITextField is renderedUITextField 渲染时调用什么方法 【发布时间】:2015-03-24 12:03:51 【问题描述】:

我想创建一个 UITextField 的子类来自动改变它的样式。

我尝试继承并覆盖 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;

然后我将其设置为故事板中的自定义类。

但它不会影响文本视图。

【问题讨论】:

我不认为 UITextField 有 viewDidLoad,因为我不能从我的子类调用 super。 是的,它是 awakeFromNib,抱歉,已将其发布到答案中 【参考方案1】:

你可以在 awakeFromNib 中放入相同的代码:

-(void)awakeFromNib

    [super awakeFromNib]; 

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


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

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

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于UITextField 渲染时调用啥方法的主要内容,如果未能解决你的问题,请参考以下文章

在 UISearchBar 中按下 Search/Return 时调用啥方法?

完成按钮单击时调用 UITextField 方法

编辑开始时更改 UITextField 背景

块返回值时调用啥?

当 UIViewController 重新聚焦时调用啥函数?

Swift:如果用户达到最大字符,如何移动到下一个 UITextField