我有一个来自UITextField
的子类,我在Interface Builder中用来构建我的视图(所以我直接在Interface Builder中将此对象的类设置为MyCustomTextField。)
现在,我了解到当加载视图时,将调用initWithCoder
:MyCustomTextField
的方法,以便我可以执行一些初始化操作。但是,我还发现我使用Attribute Inspector在Interface Builder中设置的属性没有按照我设置的方式进行初始化!
有谁知道为什么会这样,我怎么能设法将MyCustomTextField实例的属性设置为我在Interface Builder中的Attribute Inspector中设置的值?
答案 0 :(得分:0)
您可能没有从此方法的自定义覆盖中调用[super initWithCoder:coder]
。数据从nib存档加载到此超级实现中的UIView
实例中。正确的实现应该如下:
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (nil != self) {
// extra initialization code
}
return self;
}