我想测试viewDidLoad中和的loadView之间的区别,所以我创建一个单一视图的应用程序和超过设定的didFinishLaunchingWithOptions如流:viewDidLoad中和的loadView问题
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
viewController = [[MyViewController alloc] init];
// viewController.view.backgroundColor = [UIColor redColor];
self.window.rootViewController = viewController;
[self.window makeKeyAndVisible];
return YES;
}
在我MyViewController的M档是流动:
#import "MyViewController.h"
@interface MyViewController()
@end
@implementation MyViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"%@",self.view);
self.view.backgroundColor = [UIColor redColor];
// Do any additional setup after loading the view.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)loadView {
self.view = [[UIWebView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
}
@end
但loadView方法或viewDidLoad没有被调用。为什么?但是当我在didFinishLaunchingWithOptions取消注释时,他们都被调用。
它工作,我也找到它了。谢谢你的回答。 – Scott
我可以说,当我们使用self.view,如果视图为零,方法loadView会调用? – Scott
你说得对。 'viewDidLoad'将在'loadView'之后执行。 – Bannings