我有一个自定义UIView对象,nib用于定义视图/子视图布局.我的插座是连接的,当我从initWithFrame:一切启动对象时,它是有序的.
我遇到的问题是当我使用IB将其UIView嵌入另一个笔尖时; 自定义UIView出现,但它包含的子视图都没有出现 - 实际上它们的符号都解析为nil.我有一个非常小的initWithCoder:和awakeFromNib:实现(只是做记录),我的理解是,当笔尖反序列化的子视图至少应该在过程中初始化?
我自己得出的唯一结论就是两件事之一正在发生:我的插座引用是坏的/坏的并且不起作用,或者我对从笔尖加载过程的理解是错误的我是遗漏了什么.
提前致谢!
编辑:(根据要求为Nekto发布的代码......正如您将看到的,它会记录并且就是这样,嘿.)
- (id)initWithCoder:(NSCoder *)aDecoder {
if ((self = [super initWithCoder:aDecoder])) {
NSLog(@"ThumbnailGridView.initWithCoder frame= %f, %f", self.frame.size.width, self.frame.size.height);
}
return self;
}
- (void)awakeFromNib
{
NSLog(@"ThumbnailGridView:awakeFromNib");
}
Run Code Online (Sandbox Code Playgroud)
编辑2:笔尖,控制器,子视图等
Nibs:我有一个包含UIView的笔尖.这个UIView包含一个UIScrollView,它充满了另一个nib中定义的UIViews网格.(注意:这部分工作正常,因为填充是以编程方式完成的,并且与initWithFrame:call一起工作.)这里的问题是在initWithCoder之后UIScrollView符号是nil:并且awakeFromNib:都被调用,因此对象只是被添加到没有,没有任何反应.如果scrollview符号不是nil,我相信这会有效.
控制器:有两个控制器使用它,一个用initWithFrame完成:并且工作完美,另一个将它嵌入基于nib的引用.(如此处其他地方所述,在IB中定义UIView,设置自定义类.)我逐步完成了代码,并且该视图正在被正确初始化 - 只有它的子视图"缺失".
这有助于更清楚地了解情况吗?