在我的UIViewController
命名MainViewController
中,我引用了另一个UIViewController
命名SubViewController
。定义如下:
@class SubViewController;
@interface MainViewController : UIViewController <UIScrollViewDelegate> {
SubViewController * _subViewController;
}
在initWithNibName:bundle:
my 的方法中MainViewController
,我初始化 mySubViewController
如下:
#pragma mark - Init
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil; {
if((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])){
_subViewController = [[SubViewController alloc] initWithNibName:@"SubViewController" bundle:nil[;
// Forces the view to load, in an attempt to speed up the adding of the subview.
UIView * view = _subViewController.view;
view.alpha = 1.0f;
}
return self;
}
确实调用了该viewDidLoad
方法SubViewController
,并且似乎所有内容都已加载,但是当我将其添加SubViewController
为子视图时:
- (IBAction)showButtonPressed:(UIButton *)aButton; {
[self.view addSubview:_subViewController.view];
}
应用程序慢了几秒钟,然后添加了子视图,一切都很好。奇怪的是,当我删除子视图并尝试重新添加它时,没有延迟!
我认为这个问题是一个加载问题,但我找不到任何关于如何解决这个问题的文档。
谁能解释是什么导致了这种速度变慢?谢谢!