假设我从一个 nib 加载一个视图控制器,并决定在幕后对它的一个子视图做一些事情。稍后,我将展示这个视图控制器的视图。
viewController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
[viewController.someSubview doSomething];
//later on
[mainView addSubview:viewController.view];
问题是,someSubview 对象似乎直到视图出现才被加载,所以方法 doSomething 没有被调用。到目前为止,我的解决方法是调用:
[mainView addSubview:viewController.view];
[viewController.view removeFromSuperview];
首先初始化viewcontroller的子视图。这个任务有没有更优雅的方法(比如 loadSubviews 方法或其他东西)?