iphone - 如何为从 nib 创建的 View 的子类编写初始化程序?

标签 iphone ios ipad

我有一个名为 TextFieldView 的自定义 View 类,它是从 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 创建的 View 的子类编写初始化程序?

非常感谢您的智慧!

最佳答案

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

nib

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

关于iphone - 如何为从 nib 创建的 View 的子类编写初始化程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13480775/

相关文章:

iphone - UIButton 没有响应

iphone - iOS 核心图形 : Stroking with semi-transparent patterns leads to colors corruption

ios - Swift 中的复杂导航堆栈

iphone - 子类化 UITableViewController 还是使用 Store (MVCS)?

iphone - 在 iphone 中为固定长度的数据样本创建频谱图

iphone - 是否可以将图像叠加在整个 iOS 应用程序上?

iphone - 如何在 iPad 上将 View 置于分组的 UITableViewCell 中?

iphone - UIImageView 仅间歇性显示

ios - 为什么要使用我自己的服务器来验证 iOS 收据?

ios - iOS8 中的内存管理问题,Objective C