UIWindow和UIView addSubview问题

Jos*_*ley 1 objective-c uiview viewdidload uiwindow

addSubview方法是否实际将视图加载到应用程序中?我问的原因是因为我的申请中有两个两个观点.应用程序委托将两个视图添加为子视图,然后预先显示其中一个视图.现在,我在每个视图的每个viewDidLoad方法中都有一个print语句.当我运行应用程序时,应用程序委托将视图作为子视图加载,并且在加载每个视图时,我实际上看到控制台打印出我在每个viewDidLoad方法中放置的语句.这应该是这样做的吗?

Dav*_*ong 5

viewDidLoad实际上是UIViewController的一个方法,而不是UIView.它在视图加载到内存后调用(在init方法之后但在awakeFromNib之前).您会注意到addSubview:将UIView作为参数,因此必须加载视图才能将视图添加到另一个视图.否则你会尝试添加一个虚构的视图.

在回答你的问题时,是的,应该这样做.在addSubview之前很久就会调用viewDidLoad.事实上,如果你取出addSubview:行,你会发现它仍然被调用(因为你正在创建视图的控制器).