1.为什么要UIView
.可以用UIView作为容器,存放子视图
.管理事件UIEvent
2.ios坐标系
以左上角为坐标原点,向右边是x的正方向,向下是y的正向方
bounds: 相对于视图本身而言(0,0,w, h)
frame:相对于父视图的坐标
center: 相对于父视图的中心点坐标
3.将一个视图添加到另一个视图的时候,就有子视图和父视图之分
.当父视图的属性改变了,会影响子视图(frame,alpha)
.使用clipsToBounds属性截取越界的子视图
.后面添加的视图会在之前的视图之上(覆盖)
4.获取视图的所有子视图
.subViews 获取视图的所有子视图(包含了布局对象)
5.视图的层级关系
.removeFromSuperView 将一个视图从父视图中删除
6.在一个界面里面获取一个视图的方式
.如果有属性变量保存这个视图对象,那么直接使用属性访问
.可以通过tag来访问某一个对象 viewWithTag
.可以通过视图的层级
视图控制器UIViewController
The UIViewController class provides the infrastructure for managing the views of your iOS apps
视图控制器就是用来管理iOS程序中的视图,默认一个UIViewController为我们提供了一个视图UIView
我们称为根视图(root view)
It is responsible for loading and disposing of those views, for managing interactions with those views, and for coordinating responses with any appropriate data objects
视图控制器负责视图的加载和销毁,管理视图和用户的交互,协调相应数据对象的响应
视图控制器的lifecycle生命周期
控制器从出现到消失的整个过程
loadView
1.不能直接调用loadView
2.当一个控制器没有提供默认的视图,当显示的时候,需要这个视图,那么系统会调用loadView
因此loadView是用来为这个界面创建一个默认的视图,也就是给视图控制器的根视图重新复制
(创建一个新的view给控制器的view property)
viewDidLoad
自己手动创建视图或者从nib文件里面读取视图
viewWillAppear
界面即将展现在用户的面前
perform custom tasks associated with displaying the view
viewDidAppear
界面已经显示出来
viewWillDisAppear
界面即将消失
viewDidDisAppear
界面已经消失了