我正在创建一个带有一些 subview 的自定义 UIView。
在 IB 中 - 我将我的 subview 设置为 CreateAlbumView,它是一个 UIView,并创建了一些 subview 并输出它们。
当我在代码中扩展此 View 并将其添加到 super View 时,将调用以下代码:
-(id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self)
[self setViews];
return self;
}
但是那里的 subview 都为零-使我的 setViews() 函数变得无用。
我已更改代码以在以下函数中设置代码,但似乎不正确:
-(void)layoutSubviews {
[super layoutSubviews];
[self setViews];
}
subview 在哪里实际初始化,我可以从哪里开始使用它们?
最佳答案
你应该使用
- (void)awakeFromNib
nib 加载基础架构向从 nib 存档重新创建的每个对象发送 awakeFromNib 消息,但前提是存档中的所有对象都已加载和初始化。当对象收到 awakeFromNib 消息时,保证已经建立了所有导出和操作连接 .
关于ios - UIView - 自定义 View - View 的 subview 在哪里初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25838066/