原文地址:About Table Views in iOS Appshtml
表视图是在iOS应用中最多见到的用户接口对象。表视图将数据以多行可滑动列表的形式展示,而且能够以章节的形式展现。ios
表示图有不少目的:编程
图1-1 不一样种类的表视图app
表视图只有一列,而且只容许垂直滑动。它由多个按章节分组的行组成。每个章节均可以包含一个头和脚,用来显示文字或者图片。不过,大部分表视图只包含一个章节,而且没有可见的头和脚。以编程的角度讲,UIKit framework 经过章节和每行的索引数来识别它们:章节从表示图的头到底部按照0到n-1编号;在一个章节中,行编号从0到n-1。表视图能够拥有它本身的头和脚,有别于章节的头和脚;表的头出如今以一个章节的第一行以前,表的脚出如今最后一个章节的最后一行以后。框架
概览less
一个表视图就是UITableView类的两个基本风格之一的一个实例,plain 或者 grouped。plain 表视图是一个完整的列表;grouped 表视图有清晰直观的sections。表视图拥有一个数据源,和一个可选的委托(data source and might have a delegate)。数据源对象提供构成表视图的章节和行的数据。委托对象定制表视图的外观和行为。iphone
表视图经过Cells绘制它们的行:编辑器
表视图使用cells绘制他的可见行,这个cell就是 UITableViewCell 对象。Cells 是也是视图(View),能够显示文字,图像和其余种类的内容。它们能够拥有背景视图包括普通状态和被选中状态。Cells 也能够拥有附属的视图,布局
UIKit 框架定义了4种基本的cell风格,每一种都对三种默认的内容元素有它本身的布局,这三种基本内容元素是:main label,detail label 和 image。你也能够为本身的应用的表视图建立自定义的cell来得到不同凡响的风格。当你经过 storyboard 编辑器配置表视图的属性时,你能够选择两种类型的单元格的内容:静态cell 和动态原型。spa
行被选中后的响应(Responding to Selections of Rows)
当用户选择一行(经过点击)时,表视图经过一个消息通知它的委托。该行的所在章节的索引数以及该行在章节中的索引数会传递给表视图的委托。委托使用这个信息来定位应用数据模型中对应的项。这个项或许只是个中间项,也多是。若是这个项是处于中间的层次,应用会显示一个新的表视图。若是这个项是一个叶节点,应用会以分组式的talbe view或者其余样式的view显示细节。
在表视图列出的一系列的选项,简单的点击某一行的相关选项。没有后续的数据视图被显示。
在编辑模式中,容许增长,删除和重排列行:
表视图能够进入编辑模式,该模式容许用户插入或者删除行,或者在当前表中从新安置这些行。在编辑模式中,行得左边会显示增长或者删除按钮,增长是绿色加号,删除是红色减号。若是用户点击删除控件,或者在某些表示图中横向清扫行出现一个红色删除按钮,这些都提示用户删除该行。能够被重定位的行,在右部边缘会显示由几条平行线组成的图像。当表视图推出编辑模式后,增长删除和重排列控件都会消失。
当用户试图编辑表示图的行时,表示图会给它本身的数据源和托管发送一些列的消息,好让他们能管管理用户的编辑操做。
经过stroyboard建立表视图:
最容易,也是最受推荐的建立和管理表视图的方法就是,在storyboard中使用自定义的UITableViewControllor对象。若是你的应用程序很大程度上是基于表视图,推荐你使用Master-Detail应用程序模板来建立你的Xcode项目。这个模板包含一个初始自定义的UITabaleViewController类和一个该场景的 storyboard(在 user interface,包含这个自定义视图空间和它的表视图)。 在storyboard 编辑器中,选择表示图两种风格中的一种,并编辑它的内容。
在运行时刻,UITableViewControllo 建立这个表视图,而且把本身注册成为它的数据源和delegate。当表示图被建立后,当即就会向数据源请求section 和 row 的数量,表视图的cell用来绘制每一行。数据源管理用来填充表视图的section 和 row的程序数据。
(转载请标明出处:点我)