我需要UITextField
几乎没有自定义。
我创建了新的自定义类CustomTextField。在IB中,我为每个自定义outlet
创建了UITextField
。我运行代码并且定制无效。
要进行检查,我将断点放在自定义initWithFrame
中的初始化过程UITextField
上。断点没有被击中。我想在每个View Controller中都必须添加init
,但我不确定究竟是什么。
在我创建插座时,我认为init
将自动生成,但由于这是一个自定义类,因此必须手动构建init
:
CustomTexTField *textField = [[CustomTextField alloc] initWithFrame:customFrame];
[self.view addSubView:textField];
所以我在每个View控制器中都需要额外的init
以及如何做到这一点?
答案 0 :(得分:2)
从IB或故事板初始化视图时,initWithCoder
是使用的初始化程序,而不是initWithFrame
,这就是断点未被命中的原因。将自定义代码放在initWithCoder
方法中。 E.g:
- (id)initWithCoder:(NSCoder *)aDecoder{
self = [super initWithCoder:aDecoder];
if (self) {
// Put customization code here...
}
return self;
}