UITableView是苹果提供的表视图,可以有多种表现形态,使用灵活方便,可以使用其默认样式,也可对每一行的内容进行自定义,总之,使用表视图可以实现变化多样的UI效果
一、UITableView简单介绍
1.tableView是一个用户可以滚动的多行单列列表,在表视图中,每一行都是一个UITableViewCell对象,表视图有两种风格可选
1
typedef
NS_ENUM(NSInteger, UITableViewStyle) {
3
UITableViewStyleGrouped
图1 tableView两种形态在iOS6和iOS7上的对比
2.表视图还可为其添加索引值,比如通讯录中右侧索引列表,每一个索引项对应其节头标题(图2)
图2 带索引值的列表 图3 可以选择的列表
3.最简单的一种表视图是一个选择列表,可以限制选择一列或多列,如图3
4.页眉和页脚,可以根据自己的需要,对tableView设置页眉和页脚的内容
图4 带页眉和页脚的列表
二、UITableViewCell
1. UITableViewCell是表视图的单元格,系统会缓存可见的行。通过完成UITableViewDataSource协议中必须完成的代理方法CellForRowAtIndexPath方法来填充表视图上单元格数据。
2. UITableViewCell有四种样式可选
1
UITableViewCellStyleDefault,
2
UITableViewCellStyleValue1,
3
UITableViewCellStyleValue2,
4
UITableViewCellStyleSubtitle
三、创建简单TableView
1. 先给出效果图
图5 plain简单列表样式 图6 grouped简单列表样式
2. 创建方式及代码(本文只讲述代码创建)
a) 创建一个Single View Application,命名为"tableView"
b) 新建一个继承自UITableView的类,关于tableView的实现将全部写在这个类中(当然也可直接在对 应所需要用得ViewController中创建,分离出来的好处是可以在将tableView的方法单独放在一个类中,当ViewController的代码量比较大或者这个table需要在多个地方使用时推荐使用),命名为general_table_view.
c) 代码
①在general_table_view.h文件中,添加几个属性
01
@interface general_table_view : UITableView
04
@property (nonatomic, assign) CGRect tableViewFrame;
07
@property (nonatomic, copy)NSMutableArray * textLabel_MArray;
10
@property (nonatomic, copy)NSMutableArray * images_MArray;
13
@property (nonatomic, copy)NSMutableArray * subtitle_MArray;
②在general_table_view.m的interface中声明代理
1
@interface general_table_view ()<UITableViewDataSource,UITableViewDelegate>