知行

集合视图编程指南(一)

本文翻译自Collection View Programming Guide for iOS

关于iOS集合视图

集合视图是使用灵活多变布局呈现一个有序数据集合的一个方式。集合视图最常见的使用是在一个网格状排列中呈现项目,但是在iOS中的集合视图有能力不限于仅仅是行和列。使用集合视图,视觉元素的精确布局是通过子类定义的,并且可以动态改变,这样你就可以实现网格、堆栈、圆形布局、动态变化的布局,或任何你可以想象的排列的类型。

集合视图保持被呈现的数据和用来呈现数据的视觉元素之间的严格分隔。在大多数情况下,你的应用是负责全权管理数据。你的应用程序也提供用来呈现数据的视图对象。在此之后,集合视图获取视图并做定位它们到屏幕的所有工作。它结合布局对象做这个工作,该布局对象指定位置和你的视图的视觉的属性并且能被子类化来适应你的应用程序所需要的。这样,你提供数据,布局对象提供位置信息,而集合视图把两者合并起来以达到最终的外观。

概述

标准的iOS提供了你需要实现简单网格的所有行为。你也可以扩展标准类来支持自定义布局和那些布局的具体互动。

集合视图管理数据驱动视图的可视化呈现

集合视图方便了你的应用提供的数据驱动视图的呈现。集合视图只关注的是获取你的视图并把它们以具体的方式布局出来。集合视图是关于展示和你的视图排列的一切而不关于它们的内容。在你的应用程序中使用集合视图,理解集合视图,它的数据源,布局对象和你自定义对象之间的互动是重要的。

相关章节:

流布局支持网格和面向行的呈现

流布局对象是UIKit提供的具体的布局对象。你通常使用流布局对象实现网格–行和列组成的项目–但是流布局对象支持任何线性流类型。因为它不仅是为了网格,你可以使用流布局对象的子类或者不使用子类创建有意思且灵活的内容上的排列。流布局支持不同大小的项目,项目的不同间隔,自定义页眉和页脚,不使用子类化而自定义对齐。而且,子类化可以让你进一步调整流布局类的行为。

相关章节:

手势识别可用于单元格和布局操作

同所有的视图一样,你可以附加手势识别到集合视图来操作视图的内容。由于集合视图牵涉到多个视图的合作,它有助于了解结合手势识别到集合视图的一些基本技巧。你可以使用手势识别来调整布局属性或操作视图上的项目。

相关章节:

自定义布局让你超越网格

你可以为你的应用程序子类化基本的布局对象来实现自定义布局。尽管设计一个自定义布局通常不需要大量的代码,但是你越是了解布局是怎样工作的,你就能更好地设计你的布局对象变得有效率的。

相关章节:

前提条件

请先查看View Programming Guide for iOS

另请参阅

Table View Programming Guide for iOS