视图控制器

视图控制器创建的多种方式

什么是视图控制器
  • 视图控制器就是用来 ”控制“ 或者说 ”管理“ 界面(视图)的"换句话说界面长得丑与美由视图控制器说的算
  • 每个视图控制器(UIViewController)都有一个View属性来描述界面长什么样
  • 前面所讲的设置窗口的根控制器其实就是会把视图控制器的里View会添加在窗口上进行显示
视图控制器的创建方式
  1. UIStoryboard的方式
    • 获取storyboard箭头所指的视图控制器
    • 获取storyboard标识了ID所指的视图控制器
  2. 直接创建控制器
  3. 创建带xib的视图控制器
    • xib是描述界面长什么样的
    • 调用控制器的【-(instancetype)initWithNibName:bundle:】;
    • 方法为什么是nib,因为程序打包运行后,xib会放在bundle目录下,并且后缀名为nib"进入沙盒验证"
    • xib的 "File's Owner" 是代表界面由谁管理,控制器view对应哪个界面的描述
多控制器
  1. 导航控制器 (1)导航控制器是用来管多个子控制器,实现不同界面间的 "来回切换",系统的界面就是一个导航控制器 (2)掌握代码创建导航控制器及设置根控制器 (3)掌握如何进入到下一个控制器、返回上一个控制器、返回第一控制器 (4)理解导航控制器的view的结构 (5)掌握导航控制器显示各个子控制器显示的的原理 //栈顶原理
/**
栈顶原理
0.导航控制器将所要显示的子控制器放到一个栈中
1.导航控制器显示的第一个控制器为栈顶控制器
2.返回上一个子控制器时,栈顶控制器的view从导航控制器的view中移除,并栈顶控制器将被销毁
3.把最新的栈顶控制器的view显示在导航控制器view的上面
4.所有的子控制器会存储在导航控制器的viewControllers属性中
*/
复制代码

(6)掌握导航控制器中导航栏左右两边的按钮与标题的设置

  • 每一个控制器有个navigationItem属性

  • 使用navigationItem可设置标题

  • 设置标题还可以使用控制器的title属性

  • 使用navigationItem还可设置左右两边的按钮

  • 设置返回按钮,当前控制器设置的返回按钮是给下一个控制器显示的

  • navigationItem还有个titleView属性,可添加自己义的标题

    控制器的生命周期

#####理解控制器的生命周期的几个方法

viewDidLoad               //view加载完毕
viewWillAppear            //view即将显示
viewDidAppear             //view已经显示
viewWillDisappear         //view即将消失
viewDidDisappear          //view已经消失
viewWillUnload            //view即被卸载
viewDidUnload             //view已经卸载
dealloc                   //控制器被销毁
复制代码
接收到控制器内存警告
  • 循问当前哪个view可以卸载,比如当前控制器不在窗口上,就代表不用,就进行卸载view
  • 当view被卸载完后,清空数据来释放内存给别人用
  • 在arc环境下清空资源前,会先释放

转载于:https://juejin.im/post/5b3cb9a26fb9a04fd55aa68c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值