首页 > 代码库 > 源码03-02-09-控制器View懒加载
源码03-02-09-控制器View懒加载
//// AppDelegate.m// 09-控制器View懒加载#import "AppDelegate.h"#import "ViewController.h"@interface AppDelegate ()@end@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 创建窗口 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; // 创建UIViewController控制器,控制器的view并没有创建 // 控制器的view懒加载:第一次使用的时候才会去加载,并不是创建UIViewController控制器的时候去加载 UIViewController *vc = [[ViewController alloc] init]; vc.view.backgroundColor = [UIColor redColor]; self.window.rootViewController = vc; // 显示窗口 [self.window makeKeyAndVisible]; return YES;}#pragma mark - 控制器view的默认颜色- (void)vcViewBackground{ // Override point for customization after application launch. self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; self.window.backgroundColor = [UIColor redColor]; UIButton *btn = [UIButton buttonWithType:UIButtonTypeContactAdd]; btn.center = CGPointMake(20, 100); [self.window addSubview:btn]; // 默认控制器的view:几乎透明 UIViewController *vc = [[UIViewController alloc] init]; vc.view.backgroundColor = [UIColor clearColor]; // vc.view.alpha = 0; // vc.view.backgroundColor = [UIColor yellowColor]; self.window.rootViewController = vc; [self.window makeKeyAndVisible];}@end
//// ViewController.m// 09-控制器View懒加载#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)loadView{ // 如果控制器是窗口的根控制器就可以不用设置尺寸 self.view = [[UIView alloc] initWithFrame:CGRectZero]; self.view.backgroundColor = [UIColor yellowColor]; }//- (UIView *)view//{// if (_view == nil) {// [self loadView];// [self viewDidLoad];// }// return _view;//}// 在viewDidLoad中打印控制器的尺寸不准确,通常在viewDidAppear// 控制器的view加载完成的时候调用- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.view.backgroundColor = [UIColor blueColor]; NSLog(@"%s",__func__);}#pragma mark - view完全显示的时候调用- (void)viewDidAppear:(BOOL)animated{ [super viewDidAppear:animated]; NSLog(@"%@",NSStringFromCGRect(self.view.bounds)); }- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}@end
源码03-02-09-控制器View懒加载
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。