2012-11-20 32 views
1

我有一个名为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

你的笔尖指定它是身份督察里面是什么类。如果您正在加载TextFieldView笔尖,并且它是使用自定义类TextFieldView进行设置的,则您几乎必须与该对象绑定。

nib

如果你想创建一个子类,你需要再作笔尖的身份检查设置为EmailTextFieldView。

+0

谢谢,j,这就是我所害怕的。 – BeachRunnerFred

相关问题