自定义控制器的View(loadView)及其注意点

 

自定义控制器的View

loadView方法

  • 简介

    • loadView作用:一般用来创建控制器自定义的View,如果实现了loadView,就说明要自定义控制器的View
    • loadView调用时间:当控制器的view没有创建的时候,就会调用loadView来创建控制器的view
    • loadView使用注意:如果重写loadView里面没有创建控制器的view,使用self.view,会造成死循环

  • 原理

    • 1.先去判断当前控制器是不是从storyboard中加载的,如果是,那么会将storyboard中控制器的view设置位当前控制器的view
    • 2.判断是不是从xib中加载的view,如果会把xib当中描述的View,设置成当前控制器的VIew
    • 3.如果都不是,给你创建一个空的View

注意点:

  • 1.如果一个控件是透明的状态,那么它不接受事件
  • 2.控制器的View是不透明的,是它的背景颜色是透明的(clearColor)
  • 3.控制器的View默认的是懒加载,其中会实现loadView和viewDidLoad方法
  • 4.控制器的View加载顺序:loadView -> viewDidLoad -> 代理的东西
  • 5.控制器的view决定权:重写loadView > storyboard > nibName >xib

    // view懒加载
    -(UIView *)view{
    if (_view == nil) {
        [self loadView]; 
        [self viewDidLoad];
    }
    return _view;
    }
    // 总结:
    所用控制器类下有句代码:self.view.backgroundColor先由loadView方法确定了,
    再由viewDidLoad方法确定了,最后就是这句代码确定,所以最终取决于这句代码设置的颜色
posted @ 2015-11-30 21:40  LongLJ  阅读(268)  评论(0编辑  收藏  举报