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方法确定了,最后就是这句代码确定,所以最终取决于这句代码设置的颜色
  • 相关阅读:
    java中的成员变量、静态变量与局部变量
    java中static关键字的作用
    java中super关键字的作用
    java中this关键字的作用
    Java创建对象的4种方式
    IO体系、集合体系、多线程、jdbc
    二分搜索树
    二叉树搜索(二分查找法)
    索引堆
    原地堆排序
  • 原文地址:https://www.cnblogs.com/LongLJ/p/5008496.html
Copyright © 2011-2022 走看看