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

  • 相关阅读:
    数据库秒级平滑扩容架构方案
    利用SQL索引提高查询速度
    SQL Server调优系列进阶篇(如何维护数据库索引)
    SQL Server调优系列进阶篇(如何索引调优)
    SQL语法集锦一:显示每个类别最新更新的数据
    TreeView中节点勾选设置
    C# WinForm捕获全局异常
    SQL SERVER 查询死锁
    DataTable导入到Excel文件
    Microsoft SyncToy 文件同步工具
  • 原文地址:https://www.cnblogs.com/marshall-yin/p/4727921.html
Copyright © 2011-2022 走看看