zoukankan      html  css  js  c++  java
  • iOS基础-UIKit框架-多控制器管理-控制器创建和控制器view的创建

    一、控制器的多种创建方式
    如何创建一个控制器


    注意:加载UIStoryboard仅仅是加载名称叫做Test的storyboard,并不会创建storyboard中的控制器以及控件

    通过xib创建
    注意:要想让xib里的view设置为所创建控制器的view,必须设置xib的File's owner为所创建控制器。并且File's owner点右键将view连到xib里的view上。
    storyboard默认已经完成了上述操作

    二、控制器view的创建方式
    1.没有同名xib情况下创建
    2.通过storyboard创建
    3.有指定xib情况下创建
    4. 有同名xib情况下创建
    5.有同名去掉controll的情况下创建
    6.重写控制器的loadView方法

    //第一种方式:没有xib和storyboard情况下创建
    (通过alloc init创建控制器,会自动创建一个空白的view作为控制器的view)

    //第二种方式:通过storyboard创建
    如果通过storyboard创建,会根据storyboard中箭头指向的控制器view所描述的
    样子创建控制器的view

    //第三种方式:有指定xib的情况下创建(调用initWithNib:方法创建控制器)
    如果通过xib创建,会根据xib中控制器view所描述的样子创建控制器的view


    //第四种方式:有与控制器同名xib的情况下创建(直接调用init方法创建控制器)
    如果有同名xib,会自动找到同名xib中描述的view作为控制器的view

    //第五种方式:有与控制器同名(但不含controller)xib的情况下创建(直接调用
    init方法创建控制器)
    如果有与控制器同名(但不含controller)的xib,会自动找到该xib的view作为控
    制器的view

    //第六种方式:重写控制器的loadView方法(该方法一般用于自定义控制器view)
    什么时候调用LoadView就代表什么时候加载控制器的view
    如果重写了控制器的loadView方法,就不会去加载创建同名去掉controller的xib
    和同名的xib了,而是创建一个空白的view(什么都不写的话)作为控制器的view,
    也可以在loadView中直接创建view

    三、控制器view的延迟加载(懒加载)
    *控制器的view是延迟加载的:用到时再加载
    *可以用isViewLoaded方法判断一个UIViewController的view是否已经被加载
    *控制器的view加载完毕就会调用viewDidLoad

  • 相关阅读:
    gitlab+gerrit+jenkins持续集成框架
    多线程自动翻页爬虫
    爬虫超级简单入门
    完整开发流程管理提升与系统需求分析过程 随堂笔记(day 1) 【2019/10/14】
    Logistic Regression
    cmdb项目-2
    cmdb项目-3
    cmdb全总结
    crm-1
    crm-2
  • 原文地址:https://www.cnblogs.com/marshall-yin/p/4727921.html
Copyright © 2011-2022 走看看