是否有一种简单的方法可以知道所有subivews
何时加载了?
现在我正在做:
if([[self subviews] count] == 10) {
//do stuff
}
如果没有这样的事件/方法,至少有一种方法可以动态地知道孩子的数量是什么吗?
我刚刚重新阅读此内容并意识到它有点 asinine 。让我澄清一下:
我正在从UIView
文件加载此XIB
,我想知道NIB
何时正式加载(包含所有子文件)。所以我敢说正确答案是awakeFromNib
答案 0 :(得分:5)
如果你是从viewController调用它,只需使用
-(void)viewDidLoad;
在视图及其所有子视图加载后调用。如果您是从笔尖内的其中一个视图执行此操作,请使用:
-(void)awakeFromNib;
在加载视图的子视图后调用。
答案 1 :(得分:2)
如果您是以编程方式添加子视图(例如[myView addSubview:anotherView]
),那么当然无法知道;如果你这样写的话,程序可以随时添加更多的子视图。
如果要从笔尖加载视图,则可能正在寻找awakeFromNib
方法。来自NSObject UIKit Additions Reference:
nib-loading基础结构向从nib存档重新创建的每个对象发送
awakeFromNib
消息,但仅在存档中的所有对象都已加载并初始化之后。当一个对象收到awakeFromNib
消息时,保证其所有出口和操作连接已经建立。