美文网首页
iOS loadView小结(再也不怕这个方法了)

iOS loadView小结(再也不怕这个方法了)

作者: 金天动地 | 来源:发表于2021-10-17 23:50 被阅读0次

    视图控件器的view是懒加载的,用到才加载.
    举个例子:
    ①若在- application:didFinishLaunchingWithOptions:方法设置window根控制器vc,然后调用.
    vc.view.backgroundColor = [UIColor redColor]; 设置vc背景色颜色
    ②在vc -loadView 设置定义view,并设置自定义view的backgroundColor为黄色.
    ③然后在viewDidLoad,设置self.view.backgroundColor为绿色.那个生效.
    答案:是红色.
    解析: ①中vc.view 就会调用 ②中-loadView方法.然后调用③中viewDidLoad方法.这个方法是view加载完毕的时候调用.这个时候①才执行了.view .background最后执行,故颜色为红色.

    1. loadView调用时机: 视图第一次被加载的时候.
    2. 方法的目的是: 加载自定义的view.如view是imageView/WebView.起到节省内存作用.

    该方法是内不能调用view的get方法,不然会引起死循环,程序奔溃.

    1. 若没有重新,自定义视图加载顺序是:
      3.1 看视图控制器是否在StoryBoard中设置控制器VC,并绑定view.若有,则从StoryBoard加载对应的view.(StoryBoard一般是拖入控制器)
      3.2 看视图控制器是否在xib中(view设置了fileOwner),并指定了view.
      ,如有则从xib中加载指定的view.(xib中一般是拖入view)
      3.3 都没有的话,就创建了一个空白的view.(view的背景颜色是透明的,并不是view是透明的)

    view是透明的,就无法进行交互(无法进行响应事件), view的背景色是透明的就可以交互.

    若本文对您有所帮助,请点个赞支持下.谢谢.

    相关文章

      网友评论

          本文标题:iOS loadView小结(再也不怕这个方法了)

          本文链接:https://www.haomeiwen.com/subject/fejgoltx.html