swift 快速奔跑的兔几 本节的内容是:表格视图和集合视图

swift 快速奔跑的兔几 本节的内容是:表格视图和集合视图,第1张

概述iOS和OSX都提供了表格视图集合视图。表格视图被设计用来提供一个数据列表,而集合视图被用来显示一个数据网格。它们都可以进行自定义,以提供不同的布局~ 1、数据源和委托 尽管表格视图和集合视图有不同的布局,但是却有非常相似的API。当一个数据显示视图准备呈现内容时,它至少要知道两个问题的答案: *要现实多少项? *为显示每一项,分别需要做什么? 这些问题是向视图的数据源提出的,数据源就是符合该表

iOS和OSX都提供了表格视图和集合视图。表格视图被设计用来提供一个数据列表,而集合视图被用来显示一个数据网格。它们都可以进行自定义,以提供不同的布局~

1、数据源和委托

尽管表格视图和集合视图有不同的布局,但是却有非常相似的API。当一个数据显示视图准备呈现内容时,它至少要知道两个问题的答案:
*要现实多少项?
*为显示每一项,分别需要做什么?

这些问题是向视图的数据源提出的,数据源就是符合该表格视图的数据源协议的对象。根据正在使用的视图类型,数据源协议是不同的。

数据视图还需要知道其他一些问题的答案。比如,列表每一行的高度是多少?列表应当包含多少部分?这些问题也是由数据源回答的,但是在数据源不能提供这些信息的时候,视图也可以采用一些默认值。

有时候,我们需要应用程序响应用户与视图内容的交互。用户能做的具体事情会因平台、数据视图的类型以及视图配置的方式不同而不同。一些可能的交互包括:
*单击一个项目
*重新安排内容
*删除或者修改内容
这些 *** 作由视图发送给其委托。

2、表格视图:iOS上的UItableVIEw

iOS上的表格视图显示由表格视图单元格构成的一个滚动列表,表格视图单元格是一些视图,可以包含任何数据。UItableVIEw是为提高素的而设计的:用户在iOS上执行的最常见的手势就是上下轻d一个滚动列表。这就意味着,应用程序需要以足够高的帧率来实现列表滚动的动画(60帧/s)

节和行:
表格视图可以分为多个节,每一节包含一个或者多个行。利用节,可以按照有意义的方式来划分内容。例如,联系人应用程序使用的表格视图按照姓氏划分节,而设置应用程序则按照类别划分各节。
有了行和节的概念,我们搜索表格视图中的具体位置就不是按行标识的,而是按照索引路径来标识。

表格视图控制器:
如果仅仅向视图添加一个UItableVIEw,将只能看到一个空列表。默认情况下,UItableVIEw依赖一个数据源对象向其提供有关所显示内容的信息。
任何对象都可以是UItableVIEw的数据源,唯一的要求就是它必须遵守UItableVIEwDatasource协议。
该协议定义了两个关键方法( tableVIEw(_,numberOfRowsInSection)和tableVIEw(-,cellForRowAtIndexPath) ),分别返回表格中指定节的行数和返回指定索引路径的UItableVIEwCell。在下面的代码栗子中可以看到这两个方法。

表格视图单元格:
表格视图单元格表示表格视图的一项。表格视图单元格是UItableVIEwCells,它是UIVIEw的子类。
当表格视图的每个可视行进入视图时,都会调用tableVIEw(_,cellForRowAtIndexPath)方法。表格视图不用费心去显示那些不可见的内容。
例如,如果有一个表格视图,有1000行,可是页面上最多显示10行。对于那些木有现实的行来说,表格视图没有必要尝试为其显示单元格,所以只有当单元格将要显示在屏幕上的时候,才会调用方法tableVIEw(_,cellForRowAtIndexPath)。
单元格的再用:当用户卷动表格视图的时候,列表中的一些项目会从屏幕消失,儿另外一些则会进入屏幕。当列表中的一个表格视图单元格滚动至屏幕之外的时候,就将它从表格视图中删除,放到一个再用队列中。这个队列中存放了已经被创建但是当前不可兼得UItableVIEw对象。当一个单元格被滚动进入视图的时候,表格视图再从队列中提取一个已经创建的UItableVIEwCell对象,并对其进行准备,而不是创建一个全新的单元格。这种方法的好处是可以节省所有用来分配和设置新对象的时间。

本节就酱紫啦~下一节会有栗子,作为一只兔几要去蹦哒一会儿了吖~

总结

以上是内存溢出为你收集整理的swift 快速奔跑的兔几 本节的内容是:表格视图和集合视图全部内容,希望文章能够帮你解决swift 快速奔跑的兔几 本节的内容是:表格视图和集合视图所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1082539.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存