三. view加载流程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lym594887256/article/details/51588592

如官方文档中的图

这里写图片描述

注意:> 如果没有指定nibName,也没有重写loadview方法,且控制器的类名以Controller结尾;就会执行一下操作:

1.判断下有没有指定NIBname,如果指定了,就会去加载指定的XIB;
2. 判断下有没有跟控制器类名同名的的xib,但是后缀不带Controllerde Controller的xib,有就去加载;
3. 如果没有指定,就会判断下有没有跟控制器类名同名的XIB,有就去加载
4. 如果没有任何xib描述控制器的view,就不会加载xib;

加载控制器的View

  1. 判断有没有指定的nibName,如果指定了,就去加载指定的;
  2. 判断有没有view.xib,
  3. 判断有没有viewController.xib
  4. 直接创建一个空的xib

控制器默认空的view

  1. 控制器默认的view是不完全透明黑色的(及控制的颜色是:UIColor clearColor);
  2. view的alpha有个临界值:当小于0.01时候默认完全透明(即:父view可以获取焦点事件);

控制器view的延时加载(懒加载);

一般的系统自带的控制器的View都是懒加载的;因此,自定义view时,其中的控制器最好也延时加载

注意:创建控制器不一定会创建控制器的view


  1. 控制器的view在使用的时候 才会加载,在第一次使用的时候创建;
  2. 控制器的view按-(UIView*)view —>如果view为空—>viewload—>viewDidLoad;

注意:(UIView*)view:这个方法是不能使用的,即:_view是受保护的,只能在某个框架内使用(UIkit);

猜你喜欢

转载自blog.csdn.net/lym594887256/article/details/51588592