控制器
UIViewController
UITableViewController
UICollectionViewController
UINavigationController
UITabBarController
视图控件
基本的控件:按钮 标签 文本框 步进 滑块 开关 图片
特殊的视图:滚动视图
多VC之间的传值
正向、方向传值
今天:
表视图:
1. 动态表格:行数不固定
方式一:手写代码
方式二:xib+手写代码
2. 静态表格:行数固定
实现方式:
方式一:手写代码
方式二:xib文件
3. 表格的编辑模式
预备步骤:开启表格的编辑状态(editing)
删除和增加:两问一答
移动:一问一答
4. 单元格的构建
4.1 系统定义的UITableViewCell单元格
内容展示区域:contentView中由系统提供的两个标签和一个图片供使用
contentView (系统会创建该区域的视图对象)
a. 可以使用系统定义的样式(两个标签+一个图片)
b. 自定义内容视图
辅助区域:accessoryView中有系统提供的样式或者自定义
accessoryView
a. 可以使用系统定义的样式
b. 自定义辅助视图
4.2 自定义一个单元格
创建一个类继承自UITableViewCell,回答第三问时,创建的是自定义类的实例
step 1:定义数据模型
step 2:定义自定义单元格类
step 3:将自定义单元格类中,xib上拖拽的控件连线为公开的属性
step 4:回答第三问时创建自定义单元格的实例返回即可
4.3 单元格的重用
方式一:
核心理念:先从队列中取,如果没有取到,则自己创建Cell的实例
方式二:
核心理念:提前先和系统注册好某种样式的单元格,从队列中取Cell,就算没取到,系统也会根据提前注册的样式自动创建出一个cell的实例
注册:在viewDidLoad中使用tableView的regist的方法,regiestClass该方法对应没有xib文件的cell,regiestNib方法对应有xib文件的cell的注册方法
1. TableView
2. UICollectionViewController
2.1 是什么?
能够控制视图显示的控制器,对于包含多行多列多个项的视图可以提供统一的布局及内容的显示
集合视图是从tableViewController演变而来,表视图控制器智能把多个项按照竖直方向的顺序一次排序,但集合视图可以多个项以任意方式排列
2.2 与UITableViewController对比
相同点
UITableViewController
.tableView UITableView
.dataSource
.delegate
三问:有几个区 每个分区有几行 每行什么样
UICollectionViewController
.collectionView UICollectionVIew
.dataSource
.delegate
三问:有几个分区 每个分区有几项 每项什么样
不同点:
1)tableView中的行的布局已经定义好了,永远是竖直向下排;但是collectionView中的项如何布局,必须通过集合控制器制定一个布局对象(UICollectionViewLayout)才能完成,系统只为我们提供了一种布局方式,流式布局UICollectionViewFlowLayout
2)tableViewCell中系统已经准备了三个用于显示内容的属性,但是collectionViewCell系统没有提供任何可以用于显示
2.3 如何使用
1)三问
2)设置布局对象
3)每一个item如何显示内容
2.4 简单使用集合视图
需求:使用系统的流式布局,每一个单元格的背景色为白色,共有30个单元格,每个格尺寸 40x40
2.5 标准使用UICollectionViewController
step 1:创建一个类,继承自UIControllerViewController
step 2:创建一个类,继承自布局类或流式布局类
step 3:创建一个类,继承自UICollectionViewCell
step 4:创建完集合视图控制器实例后,可以制定自定义的布局类的对象为集合视图的布局
step 5:在回答第三问,创建自定义的单元格类的对象即可
3. UITabBarViewController
3.1 作用:
标签控制器,管理控制器的控制器,将多个VC并列显示
3.2 如何使用?
使用viewControllers属性存储要并列的多个VC
step 1:创建多个vc实例
step 2:
作业:
1. TableVIew的选作作业
展示地区