loadView

  1. 第一次加载view的时候,会调用loadView这个方法。也就意味着第一次访问view的时候,view还为nil,它会调用loadView这个方法创建view(必须调用父类的loadView),也就说明他是一个懒加载的方式

    • 不是说控制器创建好,控制器的view就创建好,而是当我们用到这个view的时候才会创建
    • 无论控制器的view是以何种方式创建的,他一定是调用loadView的方式创建的
    • 调用流程图
      loadView_第1张图片

    • 如果需要自定义view,那么就不需要调用[super load],因为这个方法创建父类默认的view,这个时候我们可以在loadView方法中添加自定义的view

    - (void)loadView
    {
    //    [super loadView];
        NSLog(@"loadView");
        self.view.backgroundColor = [UIColor purpleColor];

    }


    - (void)viewDidLoad {
        [super viewDidLoad];
        NSLog(@"viewDidLoad");

    }

这是一个死循环 不会打印viewDidLoad.


    - (void)loadView
    {
        [super loadView];
        NSLog(@"loadView");
        self.view.backgroundColor = [UIColor purpleColor];

    }
    - (void)viewDidLoad {
        [super viewDidLoad];
        NSLog(@"viewDidLoad");

    }

这个的打印结果如下:
loadView_第2张图片

然后显示紫色

你可能感兴趣的:(UI)