在情节提要的集合视图末尾添加按钮

Posted

技术标签:

【中文标题】在情节提要的集合视图末尾添加按钮【英文标题】:Add button at the end of collection view in storyboard 【发布时间】:2015-07-23 04:07:47 【问题描述】:

我在情节提要中有一个UICollectionViewController。我知道如何添加和修改单元格,但由于某种原因,我无法在 UICollectionView 之后添加任何其他视图或 UI 元素。

有没有办法在故事板中做到这一点?如果不是,我该如何以编程方式执行此操作?

【问题讨论】:

您可以将SectionFooter 添加到收藏视图。 我不敢相信它这么简单。不知怎的,我觉得这篇文章应该被删除 我认为您对用于添加按钮的方法感到困惑。但是对于它的实现,您可以找到很多解决方案。所以这个问题可能会帮助一些不知道这种方法的人。 【参考方案1】:

在情节提要中,您可以通过为您的 UICollectionView 选择单选按钮标题“Section Footer”来启用它,然后将 UIButton 拖到那里。你也可以重写这个函数:

- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath

如果你是UICollectionViewFlowLayout,可能还需要设置Footer的参考尺寸

【讨论】:

我一直在努力解决这个问题。我添加了 fotter 但函数:- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath 没有被调用,我不知道如何添加参考大小 刚刚弄明白了,谢谢!【参考方案2】:

Swift 2.1 解决方案:

在情节提要中选择Collection View > Attributes Inspector > Enabled Section Footer

启用后,将出现一个剖面视图,您可以将视图拖动到该视图。

Select the header view, and set the Identifier。例如:FooterViewID

接下来,在你相关的视图控制器文件中,写:

func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView 
    let footerView = collectionView.dequeueReusableSupplementaryViewOfKind(kind, withReuseIdentifier: "FooterViewID", forIndexPath: indexPath)
    return footerView

页脚现在应该出现在界面底部。

【讨论】:

以上是关于在情节提要的集合视图末尾添加按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 中可见集合视图的末尾添加“添加”按钮

使用集合视图使视图控制器可滚动

具有自定义布局的 UICollectionView - 无法在情节提要中添加补充视图

Swift,集合视图和情节提要,在另一个标签上使用 viewWithTag 时为空

故事板集合视图拒绝在以编程方式创建的按钮前面

从集合视图单元格内的按钮按下实例化故事板