博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS基础-UIKit框架-多控制器管理-控制器创建和控制器view的创建
阅读量:4984 次
发布时间:2019-06-12

本文共 1134 字,大约阅读时间需要 3 分钟。

 

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

如何创建一个控制器

注意:加载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

转载于:https://www.cnblogs.com/marshall-yin/p/4727921.html

你可能感兴趣的文章
Skulpt在线模拟运行Python工具
查看>>
287.软件测试概述
查看>>
297.白盒测试
查看>>
新闻客户端的突破与创新
查看>>
网络通信引擎ICE的使用
查看>>
js滚动事件实现滚动触底加载
查看>>
CetnOS minimal 网络不可用
查看>>
MySQL 数据库备份
查看>>
python 笔记
查看>>
【Java】NIO中Channel的注册源码分析
查看>>
JS监测鼠标指针位置
查看>>
Mac常用终端命令
查看>>
团队作业2
查看>>
Gym - 101350A Sherlock Bones(思维)
查看>>
莫队算法板子
查看>>
Tensor flow 实战Google深度学习框架 笔记摘要Ptwo
查看>>
rest_framework之渲染器
查看>>
有状态服务和无状态服务
查看>>
iOS:检测多媒体(相机、相册、麦克风)设备权限,弹框提示
查看>>
Linux 下修改配置实现在当前目录下寻找可执行文件
查看>>