如何在 UITableView 中一次添加多个单元格的边框?

Posted

技术标签:

【中文标题】如何在 UITableView 中一次添加多个单元格的边框?【英文标题】:How do I add a border multiple cells at a time in a UITableView? 【发布时间】:2016-10-09 08:16:07 【问题描述】:

我正在使用 Swift 创建一个 ios 应用程序,其中我有一个包含多个单元格的 tableView。我想要一个 tableView,其中每组三个单元格都有一个边框,并且每组三个单元格之间有一个小间隙。 这是 tableView 中每个单元格的样子。

我想组合三个单元格的阴影效果/边框,使其看起来像一个实体。下一个单元格将是一组新的三个单元格的一部分。

我想这样做是因为许多应用程序显示的 tableViews 就像我上面提到的那样。例如,Flipkart 在“Music”下显示一个 tableView,其中包含三个单元格,每个单元格包含一个耳机,在一个小间隙后显示“Shoes”,三个鞋子占据每个单元格。 如何获得类似的效果?

【问题讨论】:

如果你可以分享你想要的截图,那么回答问题会更容易。但是,您可以在 tableview 中使用多个部分,以便每个部分仅包含这三个单元格。使用节标题来分隔节。 您可以通过继承 UITableViewCell 来创建自己的自定义单元格。那里有教程,只需尝试谷歌搜索“自定义 UITableviewCell”。 是你想得到的主要output吗?我要求确定,因为答案需要很长时间才能描述:D 这是它目前的样子。将发布我希望它看起来像的屏幕截图。 【参考方案1】:

我在我的应用程序中做了类似的事情。我使用的方法是在每个表格视图单元格中放置一个 UICollectionView。有一个关于如何做到这一点的优秀教程。

在 Swift 中将 UICollectionView 放入 UITableViewCell 中: https://ashfurrow.com/blog/putting-a-uicollectionview-in-a-uitableviewcell-in-swift/

这应该对你有一些修改:

在示例中,他有一个水平滚动的集合视图。您将需要一个垂直的集合视图,其中集合视图单元格覆盖了表格视图单元格的整个宽度。执行此操作的最佳方法很可能是在情节提要中同时选择表格视图单元格和集合视图并添加约束“等宽”。

您还需要将表格视图单元格的高度设置为等于整个集合视图的高度。如果您的集合视图中始终有 3 个固定高度的项目,那么您可以简单地对表格视图单元格的高度进行硬编码。但是,如果集合视图中的项目数会因不同的表格视图单元格而改变,那么您将需要为“等高”添加一个约束,就像我在上一步中描述的那样。

应该注意,由于您的内容将垂直显示,您可以通过向每个 TableView 单元格添加 UITableView(而不是 UICollectionView)来获得相同的结果,但这会增加一些复杂性,因为两个表视图都将调用ViewController.swift 文件中的相同方法。解决方法是使用标签来识别哪个表视图正在调用该方法,但我个人认为让 UITableView 成为您的父项,将 UICollectionView 用作您的子项更直接。

如果您需要任何详细说明,请随时发表评论:)

【讨论】:

太棒了。我会试一试,然后告诉你。

以上是关于如何在 UITableView 中一次添加多个单元格的边框?的主要内容,如果未能解决你的问题,请参考以下文章

UITableview如何一次只显示一个单元格

如何阻止 UITableview 一次滚动多个单元格

如何在表格视图中一次选择单选按钮

如何在 Django 中一次将多个对象添加到 ManyToMany 关系?

如何在 SpriteKit 中一次引用多个 SKNode?

如何在Xcode的Interface Builder中一次编辑多个约束