iPhone开发应用之表视图学习案例

移动开发 iOS
iPhone开发应用中表视图的学习案例是本文要介绍的内容,主要是来学习表视图的概念及用法,来看看详细内容。

iPhone开发应用中表视图的学习案例是本文要介绍的内容,主要是来学习表视图的概念及用法,来看看详细内容。

1、概念

表视图是用于向用户显示数据列表的一种最常见的机制,它们是高度可配置的对象,可以呗配置为用户所需的任何形式。iPhone可以只有一列

2、表视图基础

表用于显示数据列表,数据列表中的每项都由行表示。

表视图是显示表数据的视图对象,它是UITableView类的一个实例,表中的每个可见行都由UITableViewCell类实现,因此,表视图是显示表中可见部分的对象,表视图单元负责显示表中的一行

表视图从遵循UITableVieDelegate协议的对象获取配置数据,从遵循UITableViewDataSource协议的对象获得型数据

3、分组表和无格式表

分组表中的每个组都有嵌入在圆角矩形中的多个行组成,注意,一个分组表可以只包含一个组

无格式表:这是默认格式,任何没有圆角矩形属性的表都是无格式表视图

注:如果数据源提供了必要的信息,通过表视图,用户可以使用右侧的索引来导航列表

表中的每个部分被称为数据源中的分区,在分组表中,每个分组都是一个分区。

4、方法

  1. - (NSInteger)tableView:(UITableView *)tableView numberofRowsInsection:(NSInteger)section{  
  2. return [self.你的数组名 count];  

表示用它来查看指定分区中有多少行

  1. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{  

当表视图需要绘制其中一行时,则会调用此方法。第二个参数是NSIndexPath实例,表视图正是使用此机制把分区和行绑定到一个对象中的。

5、牢记

表中的每一行都有一个UITableViewCell实例表示,该实例是UIView的一个子类,这就意味着每一行都能拥有子视图。因滚动操作离开屏幕的一些表视图单元,将被放置在一个可以被重用的单元序列中,如果系统运行比较慢,表视图就从序列中删除这些单元,以释放空间,不过,只要有可用的存储空间,表视图就会重新获取这些单元。

6、表视图单元样式

单元样式使用3种不同的单元元素:

(1)图像:如果指定样式中包含图像,那么该图像将显示在单元文本左侧

(2)文本标签:***在单元中显示的文本

(3)详细文本标签:单元的辅助文本,通常用作解释性的说明或标签

7、设置缩进级别

  1. #pragma mark -  
  2. #pragma mark Table Delegate Methods  
  3.  
  4.  
  5. - (NSInteger)tableView:(UITableView *) tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath{  
  6.   NSUINteger row = [indexPath row];  
  7.  
  8. return row;  
  9. } 

把每一行的缩进级别设置为其行号,所以0行的缩进级别为0 ,***行为1.

如图:

8、处理行:指定特定行无响应

  1. - (NSIndexPath *)tableView:(UITableView *)tableView willselectRowAtIndexPath:(NSIndexPath *)indexPath{  
  2. NSUInteger row = [indexPath row];  
  3.  
  4. if(row == 0)  
  5. {  
  6. return nil;  
  7. }  
  8. return indexPath;  

我们的代码着眼于哪一行将被选中,如果这一行是***行,其索引将始终是0,那么它将返回nil,表示实际上没有行被选中,否则,它返回indexPath,表示选择可以继续进行。

9、改变字体大小和行高

(1)更改大小:

  1. cell.textLabel.font = [UIFont boldSystemFontOfSize:50]; 

(2)更改行高:

  1.  - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{  
  2. return 70;  

10、添加索引

  1. - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{  
  2. return keys;   //此处的keys是我工程里的一个属性  

11、添加搜索栏

创建两个新字典: 一个包含完整数据集的不可改变的字典,一个可以从中删除行的可变的字典副本

委托和数据源将从可变字典进行读取,当搜索标准更改或者取消搜索时,可以从不可改变的字典刷新可变字典。

小结:iPhone开发应用之表视图学习案例的内容介绍完了,希望通过本文的学习能对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-08-11 17:32:51

iPhone视图

2011-08-11 10:16:23

iPhoneUIView视图

2011-08-11 10:27:37

iPhoneUIView视图

2011-08-16 19:02:23

iPhone开发绘图

2011-08-12 10:16:10

iPhone通讯录联系人

2011-08-19 11:10:31

iPhone应用

2011-08-10 10:23:20

iPhoneArchivingNSCoder

2009-08-28 17:51:40

iPhone多视图开发

2011-08-15 10:15:00

iPhone开发警告框

2011-08-12 11:31:46

iPhoneUIView动画

2011-08-11 11:51:07

iPhone键盘

2011-08-12 10:04:24

iPhone开发视图

2011-08-08 10:10:14

iPhone开发 图片 方法

2011-08-09 17:29:29

iPhone文件屏幕

2011-08-15 15:44:46

iPhone开发PDF

2011-08-18 16:24:44

iPhone开发图片

2011-08-19 14:27:29

iPhone开发

2011-08-17 15:10:21

iPhone开发Web视图

2011-08-18 10:39:46

iPhone开发界面

2011-08-05 14:48:06

iPhone应用 异步队列
点赞
收藏

51CTO技术栈公众号