在故事板中创建UITextField时调用什么init方法

时间:2013-07-19 16:04:05

标签: ios storyboard uitextfield uitextfielddelegate

问题: 我将UITextField子类化为“UISelectField”,以便我可以覆盖委托。然后,我在故事板中创建了一个UITextField,并在Identity检查器中将其类更改为UISelectField。但是,Xcode提供的默认init方法“initWithFrame”不会被调用。使用这种方法创建UITextField时会调用哪个init方法?

原因: 现在,我在视图控制器的init中设置了委托:[self.textField setDelegate:self.textField];。我想删除它,并在调用任何init方法时用[self setDelegate:self];替换它。请告诉我是否有更优雅的方法。

2 个答案:

答案 0 :(得分:4)

- (id)initWithCoder:(NSCoder *)aDecoder {
    self = [super initWithCoder:aDecoder];
    if (self) {
        // Custom Implementation
    }
    return self;
}

答案 1 :(得分:0)

在Swift 3上:

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)

    // Custom Implementation
}