iOS自定义UITextField,具有插座初始化功能

时间:2014-08-07 09:44:29

标签: ios objective-c xcode ios7

我需要UITextField几乎没有自定义。 我创建了新的自定义类CustomTextField。在IB中,我为每个自定义outlet创建了UITextField。我运行代码并且定制无效。

要进行检查,我将断点放在自定义initWithFrame中的初始化过程UITextField上。断点没有被击中。我想在每个View Controller中都必须添加init,但我不确定究竟是什么。

在我创建插座时,我认为init将自动生成,但由于这是一个自定义类,因此必须手动构建init

CustomTexTField *textField = [[CustomTextField alloc] initWithFrame:customFrame];
[self.view addSubView:textField];

所以我在每个View控制器中都需要额外的init以及如何做到这一点?

1 个答案:

答案 0 :(得分:2)

从IB或故事板初始化视图时,initWithCoder是使用的初始化程序,而不是initWithFrame,这就是断点未被命中的原因。将自定义代码放在initWithCoder方法中。 E.g:

- (id)initWithCoder:(NSCoder *)aDecoder{
    self = [super initWithCoder:aDecoder];
    if (self) {

        // Put customization code here...

    }
    return self;
}