zoukankan      html  css  js  c++  java
  • 自定义控制器的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方法确定了,最后就是这句代码确定,所以最终取决于这句代码设置的颜色
  • 相关阅读:
    centos crash debug
    go get Unknown SSL protocol error in connection to gopkg.in
    Tensorflow serving with Kubernetes
    Spring 集成 Swagger UI
    Docker Registry V2 Garbage Collection
    Docker Registry V2 with Nginx
    Zabbix磁盘性能监控
    Zabbix CPU utilization监控参数
    Windows挂载Gluster复制卷
    Redis持久化存储(三)
  • 原文地址:https://www.cnblogs.com/LongLJ/p/5008496.html
Copyright © 2011-2022 走看看