IOS UITableView 概述

来源:互联网 发布:淘宝事件营销的案例 编辑:程序博客网 时间:2024/06/15 01:54

UITableView 概述

 

一、表视图的组成

  1.1、表头视图(Table header view):用于展示表头视图的信息。

  1.2、表脚视图(Table footer view):用于展示表脚视图的信息。

  1.3、单元格(Cell):它是组成表视图每一行的单位视图。

  1.4、节(Section):它由多个单元格组成,有节头(section header)和节脚(section footer)。

  1.5、节点:用于描述节的信息;文字左对齐

  1.6、节脚:用于声明节的信息,也可描述节的信息;文字居中对齐

详细如下图:

 

二、表视图的相关类

表视图(UITableView)继承自UIScrollview, 它有两个协议UITableViewDelegate委托协议UITableViewDataSource数据源协议。此外,表视图还包含很多其他类,其中:

UITableViewCell类是单元格类;

UITableViewController类是UITableView的控制器;

UITableViewHeaderFooterView类是用于为节头和节脚提供视图;

结构,如下图:

 

 

三、表视图的分类

表视图主要分为普通表视图分组表视图

普通表视图:主要用于动态表,而动态表一般在单元格数目未知的情况下使用。

分组表视图:一般用于静态表,用来进行界面布局,它会将表分成很多块。静态表一般用于控件的界面布局。

两者的区别,如下图:

 

四、表视图的特征

4.1、索引表视图:一般情况下,在表视图超过一屏时应该添加索引列, 如下图:

 

4.2、选择表视图:用于给用户提供一个选择列表。由于IOS标准控件没有复选框控件,所以一般使用选择表视图来替代其他平台的控件。如下图:

 

4.3、搜索栏表视图:由于单元格很多,所以我们需要借助搜索栏进行过滤。搜索栏一般放在表头,也就是说,只有表视图翻到最顶端时才会看到搜索栏。如下图:

 

4.4、分页表视图:在表头中有刷新和加载等待标识,表脚(表头)中会有“更多”按钮或“加载更多”标识。如下图:

 

五、单元格的组成和标识

单元格由图标、标题、扩展视图等组成。如下图:

单元格可以有很多样式,我们可以根据需要进行选择。图标、标题和副标题可以有选择地设置,扩展视图可以内置或者自定义,其中内置的扩展视图是在枚举类型UITableViewCellAccessoryType中定义的。枚举类型UITableViewCellAccessoryType中定义的常量如下所示:

5.1、UITableViewCellAccessoryType:没有扩展图标。

5.2、UITableViewCellAccessoryDisclosureIndicator:扩展指示器,触摸该图标将切换到下一级表视图,图标为:"》"

5.3、UITableViewCellAccessoryDetailDisclosureButton:细节展示按钮,触摸该单元格的时候,表视图会以视图的方式显示当前单元格的更多详细信息。IOS7之前的图标为"》",IO7之后图标为“! ”。

5.4、UITableViewCellAccessoryCheckmark:选中标志,表示该行被选中,图标为:“√”;

5.5、UITableViewCellStyleDefault:默认样式,只有图标和标题,如下图:

5.6、UITableViewCellStyleSubtitle:带有副标题的样式,有图标、主标题、副标题。如下图:

5.7、UITableViewCellStyleValue1:无图标带副题样式1,有主标题和子标题,如下图:

5.8、UITableViewCellStyleValue2:无图标带副题样式2,有主标题和子标题,如下图:

 

 

六、数据源协议与委托协议

表视图 UITableView的数据源协议是UITableViewDataSource,委托协议是UITableViewDelegate。

UITableViewDataSource协议的主要方法,如下图:

而tableView:numberOfRowsInSection: 和tableView:cellForRowAtIndexPath: 是必须要实现的。

 

UITableViewDelegate协议主要用来设定表视图中的节点和节脚的标题,并响应一些动作事件,主要的方法如下图,它们都是可选择的;

 

 

 

 

 

 

 

 

 

 

 

0 0
原创粉丝点击