如何为从nib创建的视图的子类编写初始化程序?

时间:2012-11-20 19:37:58

标签: iphone ios ipad

我有一个名为TextFieldView的自定义视图类,它是从nib ...

初始化的
+ (TextFieldView *)textFieldView {
    NSArray *nibObjects = [[NSBundle mainBundle]
                           loadNibNamed:@"TextFieldView"
                                  owner:nil
                                options:nil];
    return (TextFieldView *)[nibObjects objectAtIndex:0];
}

我正在尝试创建一个名为EmailTextFieldView的子类,但我无法弄清楚如何为它编写初始化程序。我目前的做法是......

+ (EmailTextFieldView *)emailTextFieldView {
    return (EmailTextFieldView *)[EmailTextFieldView textFieldView];
}

这导致崩溃,因为无论何时我创建EmailTextFieldView并在其上调用EmailTextFieldView方法,它都会崩溃,因为消息被发送到TextFieldView子类,而没有实现该方法。如何为从nib创建的视图的子类编写初始化程序?

非常感谢你的智慧!

1 个答案:

答案 0 :(得分:1)

您的nib指定Identity Inspector中的类。如果您正在加载TextFieldView笔尖,并且使用自定义类TextFieldView进行设置,那么您几乎可以使用该对象。

nib

如果要创建子类,则需要在Identity Inspector中将另一个nib设置为EmailTextFieldView。