当前位置: 首页 > 面试题库 >

如何在集合视图中快速制作页眉和页脚

闾丘选
2023-03-14
问题内容

如何在集合视图中快速创建页眉和页脚?

我正在尝试将页眉和页脚组合在一起,但是它一直崩溃,我找不到快速的教程来理解它。

我不怎么为两个人返回补充性观点,而只是返回一个。

我将它们都放在情节提要上(类+标识符)

 override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
    //#warning Incomplete method implementation -- Return the number of sections
    return 2
}


override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    //#warning Incomplete method implementation -- Return the number of items in the section
    return 10
}




override func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView {
    var header: headerCell!
    var footer: footerCell!



    if kind == UICollectionElementKindSectionHeader {
        header =
            collectionView.dequeueReusableSupplementaryViewOfKind(kind,
                withReuseIdentifier: "header", forIndexPath: indexPath)
            as? headerCell

}
    return header

}

错误: 标识符为1的UICollectionElementKindCell-必须为该标识符注册一个笔尖或一个类,或在情节提要中连接原型单元。

override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> profileCC {
    let cell = collectionView.dequeueReusableCellWithReuseIdentifier("one", forIndexPath: indexPath) as! profileCC

    // Configure the cell

    return cell
}



override func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView {

    switch kind {

    case UICollectionElementKindSectionHeader:

        let headerView = collectionView.dequeueReusableSupplementaryViewOfKind(kind, withReuseIdentifier: "header", forIndexPath: indexPath) as! headerCell

        headerView.backgroundColor = UIColor.blueColor();
        return headerView

    case UICollectionElementKindSectionFooter:
        let footerView = collectionView.dequeueReusableSupplementaryViewOfKind(kind, withReuseIdentifier: "footer", forIndexPath: indexPath) as! footerCell

        footerView.backgroundColor = UIColor.greenColor();
        return footerView

    default:

        assert(false, "Unexpected element kind")
    }
}

希望有人能帮上忙。


问题答案:

您可以制作一个UICollectionViewController来处理UICollectionView和在Interface Builder中激活
FooterHeader 部分,然后可以在UICollectionView添加的两个部分中使用以下方法进行预览:

override func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView {

    switch kind {

    case UICollectionView.elementKindSectionHeader:

        let headerView = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "Header", for: indexPath)

        headerView.backgroundColor = UIColor.blue
        return headerView

    case UICollectionView.elementKindSectionFooter:
        let footerView = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "Footer", for: indexPath)

        footerView.backgroundColor = UIColor.green
        return footerView

    default:

        assert(false, "Unexpected element kind")
    }

在上面的代码我把identifier页脚和头作为HeaderFooter例如,你可以做你想要的。如果要创建自定义页眉或页脚,则需要UICollectionReusableView为每个页眉创建一个子类并根据需要对其进行自定义。

您可以通过以下方式在Interface Builder或代码中注册自定义页脚和标头类:

registerClass(myFooterViewClass, forSupplementaryViewOfKind: UICollectionElementKindSectionFooter, withReuseIdentifier: "myFooterView")


 类似资料:
  • 问题内容: 在我的ListActivity中,我需要页眉和页脚视图(在列表的顶部和底部)分别用作列表上的上一页和下一页按钮,因为我一次只想显示20个项目。 我通过执行以下操作来设置标题和脚位视图: 这可以正常工作,但是我需要动态删除并添加这些页眉和页脚视图,因为列表中的某些页面可能没有下一页按钮或上一页按钮。 问题是,调用setListAdapter之后,我无法调用addHeaderView或ad

  • 问题内容: 我从android开发教程中学到了知识,现在可以制作ListView了。而且效果很好。现在,我的要求是要显示带有在XML文件中创建的页眉和页脚的listview。 基本上在顶部会有一个页眉和页脚(文本视图),然后跟随列表视图在页眉和页脚之间滚动 有人可以将我转发给相应的教程。 问题答案: 这是教程链接: http://blog.maxaller.name/2010/05/attachi

  • 客户端 A-C 是提供 HTML 服务的 Web 应用程序。服务 1-3 是处理 CRUD 并提供 JSON 的后端。还有其他客户端(未图中)不访问前端服务 - 即本机客户端,如Android和iOS。我试图找出在所有Web客户端上提供常见前端内容(例如页眉/页脚/ css)的最佳方法。我能想到的最好的方法是创建一个前端服务,每个Web客户端都可以访问该服务来提取这些公共信息。这样,更改通用前端将

  • 也许以前有人问过这个问题,但我似乎找不到一个准确的答案或解决办法。我开始使用RecycerView,并使用LinearLayoutManager实现了它。现在,我想添加自定义的页眉和页脚项,这些项不同于RecycerView中的其他项。页眉和页脚不应该粘,我希望他们滚动与其余的项目。有人能指出一些例子如何做到这一点或只是分享想法。我会非常感激的。THX

  • 问题内容: 我真的不喜欢在每个控制器中编写代码: 是否可以这样做,将自动包含页眉和页脚,如果需要更改它,我们也可以这样做吗?你怎么处理?还是您认为这不是问题?谢谢。 问题答案: 这是我的工作: 对于CI 3.x: 然后,在您的控制器中,这就是您要做的一切:

  • 问题内容: 我想制作这个UI,每个都是div。标头高度为30像素。页脚为30px。但是我不知道内容的高度。我需要使用用户框架进行计算。 总高度应为100%。 我可以用纯CSS做到吗? 问题答案: 使用flexbox,这很容易实现。 将包含3个隔层的包装器的高度设置为或。包装器的高度将填满整个高度,这将使该包装器的所有子级具有适当的flex-properties(例如),由flexbox-magic