(apple官方文档译文)ios应用开发当中的表视图

ios应用开发当中的表视图

原文链接

表视图是一种在ios应用开发当中很常见的用户界面对象。它是以滚动的形式展现多行数据的列表,而且这些列表可以划分好多个节(也可理解为块或区域)。

 

表视图的作用:

  •  让用户以一种层次结构的方式去操作数据
  •  可以呈现一种索引列表
  •  更形象直观地去展示控制方式和细节信息
  •  展示一个具有选择性的列表

图I-1  表视图的各种形式


一个表视图只有一列,并且只支持纵向滑动。每个节(或者块、区域)又包含了多行列表。每个节上下分别有节头和节角,节头和节脚都是以一段文本或者一张图片来呈现。但是,好多表视图都只有一个节,可能就隐藏了节头或节角。在程序当中,UIKit 框架是通过行和节的索引来识别这些行和节:表视图会包含n个节,所以节的索引范围是0 到 n-1,包含在节里的行列表也是以同样的索引范围来识别。一个表视图也有表头和表脚,这跟节的节头和节脚是有明显区别的。表头出现在第一个节的第一个行列表之前,表脚出现在最后一个节的最后一个行列表之后。

概览

个表视图是UITableView类的一个实例,它有两种类型:plain和grouped。

Plain类型是连续的列表,grouped类型以节的形式呈现。一个表视图有一个数据源(data source)和一个代理(delegate)。数据源提供节和行列表在表视图中的数量和数据信息。而代理是根据需求制定他们的外观和行为。

 

关联章节:“Table View Styles and Accessory Views” (中文翻译链接

 

表视图通过单元格来绘制他们的行列表

一个表视图通过单元格的形式来绘制它的可见行列表,这个单元格就是UITableViewCell对象。单元格是一种以图片、文本或者其他可视元素构成的视图。他们的背景有正常和选中两种状态。在单元格中也可包含一些扩展控件,如提供选中状态的控件或者一个设置选项控件。

 

UIKit框架定义了四种标准的单元格类型,每种类型都包含三个基本元素:主标题、副标题和一个图标视图。与此同时,你也可以为你的表视图自定义一个单元格类型。

 

如果你是通过storyboard来编辑你的表视图,你可以为它设置静态或动态两种形态。

 

静态单元格:通常用来设计一个具有固定行数的表视图,并且每个单元格有自己的布局形式。当你的表视图在设计阶段已经可以确定,并且不会以一个特殊的方式呈现信息的时候,可以采用静态单元格。

 

动态单元格:当你需要一个通用的模板来展现表视图中的单元格的时候,你可以采用动态单元格。这时的单元格使用相同的布局来展现信息。动态单元格的内容是在程序运行的时候由数据源提供,而且一般单元格的个数是不确定的。

 

关联章节:Table View Styles and Accessory Views,”中文翻译链接A CloserLook at Table View Cells(中文翻译链接)

 

选择单元格时的响应

当用户选择一个单元格的时候,表视图的代理就会发送一个消息。代理会传递这个单元格的索引和它所在节的索引,并通过索引信息来定位相应的应用数据信息。

用户选择一个单元格,有可能是切换到另一个表视图,也有可能是展示一个详细信息介绍视图。

 

当用户尝试插入、删除,或者重新排列单元格的时候,表视图会向它的数据源和代理发送一系列的消息,所以它们可以管理这些操作。

 

关联章节:Navigating aData Hierarchy with Table Views,” ManagingSelections


在编辑模式下,你可以插入、删除、或者重新排列单元格

表视图可以进入编辑模式,这样用户就可以插入、删除、或者重新排列单元格。

处于编辑模式的时候,每个单元格左侧边缘会出现绿色的加号或者红色的减号,用来插入或者删除相应的单元格。在一些表视图中,用户可以用过滑动屏幕,之后会出现红色的删除按钮,提示用户删除相应单元格。单元格的右侧有一个若干平行线表示的图标按钮,这时可以重新排列单元格。当表视图离开编辑状态时,插入、删除、和重新排列按钮便会消失。

 

当用户尝试插入、删除,或者重新排列单元格的时候,表视图会向它的数据源和代理发送一系列的消息,所以它们可以管理这些操作。

 

关联章节:Insertingand Deleting Rows and Sections,” Managing theReordering of Rows

 

通过storyboard创建表视图

创建一个表视图一个表视图最简单而且被推荐的方式是通过storyboard自定义一个UITableViewCotroller对象。如果你的应用中大部分都使用到了表视图,你可以在Xcode中创建项目时使用Master-Detail Application模板。这个模板包括了一个初始化的自定义UITableViewController类和一个用户界面storyboard场景,场景包括一个自定义视图控制器和一个表视图。在storyboard编辑栏,选择一种呈现类型(plain和grouped),并且设计它的内容。

 

在程序运行的时候,UITabelViewController创建一个表视图,并且将它自己设为数据源和代理。一旦创建完成,表视图马上会询问相关数据,如节的个数和相关节里单元格的个数。并且绘制每个单元格。数据源管理应用数据,来填充节和相应的单元格。

 

关联章节:Navigating aData Hierarchy with Table Views,”Creating andConfiguring a Table View


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值