iPhone开发应用中表视图的学习案例是本文要介绍的内容,主要是来学习表视图的概念及用法,来看看详细内容。
1、概念
表视图是用于向用户显示数据列表的一种最常见的机制,它们是高度可配置的对象,可以呗配置为用户所需的任何形式。iPhone可以只有一列
2、表视图基础
表用于显示数据列表,数据列表中的每项都由行表示。
表视图是显示表数据的视图对象,它是UITableView类的一个实例,表中的每个可见行都由UITableViewCell类实现,因此,表视图是显示表中可见部分的对象,表视图单元负责显示表中的一行
表视图从遵循UITableVieDelegate协议的对象获取配置数据,从遵循UITableViewDataSource协议的对象获得型数据
3、分组表和无格式表
分组表中的每个组都有嵌入在圆角矩形中的多个行组成,注意,一个分组表可以只包含一个组
无格式表:这是默认格式,任何没有圆角矩形属性的表都是无格式表视图
注:如果数据源提供了必要的信息,通过表视图,用户可以使用右侧的索引来导航列表
表中的每个部分被称为数据源中的分区,在分组表中,每个分组都是一个分区。
4、方法
- - (NSInteger)tableView:(UITableView *)tableView numberofRowsInsection:(NSInteger)section{
- return [self.你的数组名 count];
- }
表示用它来查看指定分区中有多少行
- - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
- }
当表视图需要绘制其中一行时,则会调用此方法。第二个参数是NSIndexPath实例,表视图正是使用此机制把分区和行绑定到一个对象中的。
5、牢记
表中的每一行都有一个UITableViewCell实例表示,该实例是UIView的一个子类,这就意味着每一行都能拥有子视图。因滚动操作离开屏幕的一些表视图单元,将被放置在一个可以被重用的单元序列中,如果系统运行比较慢,表视图就从序列中删除这些单元,以释放空间,不过,只要有可用的存储空间,表视图就会重新获取这些单元。
6、表视图单元样式
单元样式使用3种不同的单元元素:
(1)图像:如果指定样式中包含图像,那么该图像将显示在单元文本左侧
(2)文本标签:***在单元中显示的文本
(3)详细文本标签:单元的辅助文本,通常用作解释性的说明或标签
7、设置缩进级别
- #pragma mark -
- #pragma mark Table Delegate Methods
- - (NSInteger)tableView:(UITableView *) tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath{
- NSUINteger row = [indexPath row];
- return row;
- }
把每一行的缩进级别设置为其行号,所以0行的缩进级别为0 ,***行为1.
如图:
8、处理行:指定特定行无响应
- - (NSIndexPath *)tableView:(UITableView *)tableView willselectRowAtIndexPath:(NSIndexPath *)indexPath{
- NSUInteger row = [indexPath row];
- if(row == 0)
- {
- return nil;
- }
- return indexPath;
- }
我们的代码着眼于哪一行将被选中,如果这一行是***行,其索引将始终是0,那么它将返回nil,表示实际上没有行被选中,否则,它返回indexPath,表示选择可以继续进行。
9、改变字体大小和行高
(1)更改大小:
- cell.textLabel.font = [UIFont boldSystemFontOfSize:50];
(2)更改行高:
- - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
- return 70;
- }
10、添加索引
- - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{
- return keys; //此处的keys是我工程里的一个属性
- }
11、添加搜索栏
创建两个新字典: 一个包含完整数据集的不可改变的字典,一个可以从中删除行的可变的字典副本
委托和数据源将从可变字典进行读取,当搜索标准更改或者取消搜索时,可以从不可改变的字典刷新可变字典。
小结:iPhone开发应用之表视图学习案例的内容介绍完了,希望通过本文的学习能对你有所帮助!