如何将UIButton添加到UICollectionView,它将与其单元格一起滚动?

时间:2016-01-20 18:38:04

标签: ios swift uicollectionview

我正在尝试构建家庭基础应用程序,这意味着在根视图中有许多图标,它将导航到适当的视图。所以,我将使用集合视图。但是,问题是当我向集合视图添加按钮时,当我向上滚动集合视图时,按钮没有滚动到集合视图。这是我的模拟器构建:

enter image description here

如您所见,按钮"点击此处登录"没有用集合视图向上滚动。那么,有没有什么方法可以将按钮添加到集合视图的中心,该按钮将使用集合视图滚动?

这是我的故事板:

storyboard

我做错了什么?

1 个答案:

答案 0 :(得分:4)

当您仔细查看Interface Builder中的视图层次结构时,您会注意到您添加的按钮实际上并不是您的集合视图的子视图。我添加了一条红线,表示哪些对象属于集合视图。

View Hierarchy (wrong)

您的登录按钮与视图层次结构中的集合视图位于同一级别。两者都是视图控制器根视图的子视图。所以难怪按钮不会与集合视图一起滚动。

但是,您不能简单地在Interface Builder中向集合视图本身添加任意视图(或按钮)。您需要先将Collection Reusable View添加为集合视图标题,然后将按钮添加到其中。

Collection Reusable View

Interface Builder中的故事板场景将如下所示:

View Hierarchy (right)

请注意,您还需要将some code添加到您的集合视图数据源(可能与您的集合视图控制器相同),以便实现此功能。