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 时调用啥方法?