1

我有一个子类UITextField,我在 Interface Builder 中使用它来构建我的视图(所以我直接在 Interface Builder 中将此对象的类设置为 MyCustomTextField)。

现在,我明白当视图被加载时,initWithCoder: 方法MyCustomTextField将被调用,这样我就可以做一些初始化工作。但是,我还发现我在 Interface Builder 中使用 Attribute Inspector 设置的属性并没有按照我设置它们的方式进行初始化!

有谁知道为什么会这样,以及我如何设法将 MyCustomTextField 实例的属性设置为我在 Interface Builder 的 Attribute Inspector 中设置的值?

4

1 回答 1

0

您可能没有[super initWithCoder:coder]从您对此方法的自定义覆盖中调用。在这个超级实现中,数据从 nib 存档加载到UIView实例中。正确的实现应该如下所示:

- (id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (nil != self) {
        // extra initialization code
    }
    return self;
}
于 2014-02-17T12:42:44.737 回答