【发布时间】:2014-09-14 21:12:07
【问题描述】:
我正在创建一个带有一些子视图的自定义 UIView。 在 IB 中 - 我将我的子视图设置为 CreateAlbumView,它是一个 UIView,并创建了一些子视图并输出这些。
当我在代码中扩展此视图并将其添加到超级视图时,将调用以下代码:
-(id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self)
[self setViews];
return self;
}
但是那里的子视图都为零 - 使我的 setViews() 函数变得无用。
我已更改代码以在以下函数中设置代码,但似乎不正确:
-(void)layoutSubviews {
[super layoutSubviews];
[self setViews];
}
子视图实际在哪里初始化,我可以从哪里开始使用它们?
【问题讨论】:
-
不要,永远,在
-layoutSubviews中添加子视图(除非您正在编写自定义表格视图)。
标签: ios objective-c cocoa-touch uiview