谁能解释为什么在使用 loadView 时没有调用 viewDidLoad?据我了解,viewDidLoad 仍应被调用。
- (void)loadView
{
CGRect currentFrame = [[UIScreen mainScreen] applicationFrame];
UIView* myView = [[UIView alloc] initWithFrame:CGRectMake(currentFrame.origin.x, currentFrame.origin.y, currentFrame.size.width, currentFrame.size.height)];
myView.backgroundColor = [UIColor redColor];
self.view = myView;
[myView release];
[super loadView];
}
- (void)viewDidLoad {
//this never happens
NSLog(@"VIEW DID LOAD!");
[super viewDidLoad];
}
最佳答案
我刚刚发现,如果您在应用程序中手动调用 loadView,则不会调用 viewDidLoad。 如果您手动调用 loadView,则还必须手动调用 viewDidLoad。
此外,根据苹果文档,您不应该调用 [super loadView],因为它会用默认的 UIView 覆盖您的 View 。
关于iphone - 使用 loadView 时未调用 viewDidLoad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4653036/