1

我有一个名为 TextFieldView 的自定义视图类,它是从笔尖初始化的......

+ (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 创建的视图的子类编写初始化程序?

非常感谢你的智慧!

4

1 回答 1

1

您的 nib 指定了它在 Identity Inspector 中的类。如果您正在加载 TextFieldView nib,并且它设置了 TextFieldView 的自定义类,那么您几乎已经绑定到该对象。

笔尖

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

于 2012-11-20T19:48:00.080 回答