UIcollectionview装饰视图VS补充视图

时间:2013-10-04 07:48:48

标签: ios uicollectionview

我正在使用ios 6和UICollectionView开始开发ios应用程序。 我注意到对补充观点和装饰观点的支持。

有人可以在子弹点中解释两者之间的区别吗?它们听起来很相似。

如果我想在我的集合视图中添加一个加载器(它将出现在每个部分的底部,当部分正在加载时)它应该是补充视图还是装饰视图?

由于

2 个答案:

答案 0 :(得分:33)

装饰视图正如名称所示:装饰,镀铬。只有集合视图布局决定它们是什么以及放置它们的位置(例如,如果要在屏幕上每5个项目绘制一条线)。

补充观点与您的数据更相关。集合视图布局仍然决定放置它们的位置,但它们由集合视图数据源提供,就像常规单元格一样。例如,如果您想为部分添加标题,则可以使用补充视图,因为每个部分的标题都不同,您需要为每个部分调用数据源。

如果您的加载器是通用的,它可能是装饰视图,但装饰视图不是真正可访问的(布局对象说明放在哪里,就是这样,它们是由集合视图创建的,你永远不会得到它参考它们,所以如果你想开始/停止它的动画,装饰视图不是最好的选择。如果您使用补充视图,则可以在创建时(在数据源collectionView:viewForSupplementaryElementOfKind:atIndexPath:方法中)访问它。但是,只有在屏幕上布局常规数据单元格后,才能查询集合视图。 此外,如果要使用自定义装饰或补充视图,则必须编写自己的UICollectionViewLayout类。基础UICollectionViewFlowLayout仅提供页脚和标题补充视图。

答案 1 :(得分:2)

从UITableView角度来看

补充=部分。

Decoration = tableFooterView tableHeaderView

相关问题