我正在使用Swift创建一个iOS应用程序,其中我有一个包含多个单元格的tableView。我想要一个tableView,其中每组三个单元格都有一个边框,每组三个单元格之间有一个小间隙。 这就是tableView中每个单元格的样子。
我想为三个单元格组合阴影效果/边框,使其看起来像一个单独的实体。下一个单元格将是一组新的三个单元格的一部分。
我想这样做是因为很多应用程序都像我上面提到的那样显示tableViews。例如,Flipkart显示一个tableView,其中包含三个单元格" Music"每个单元格都包含一个耳机,并在一个小间隙后显示" Shoes"三个鞋子占据每个细胞。 我如何获得类似的效果?
答案 0 :(得分:1)
我在我的应用程序中做了类似的事情。我使用的方法是在每个表视图单元格中放置一个UICollectionView。有一个关于如何做到这一点的优秀教程。
在Swift中的UITableViewCell中放置UICollectionView: https://ashfurrow.com/blog/putting-a-uicollectionview-in-a-uitableviewcell-in-swift/
这应该适合您,只需进行一些修改:
在该示例中,他有一个水平滚动的集合视图。您将需要一个垂直集合视图,其中集合视图单元格覆盖表格视图单元格的整个宽度。执行此操作的最佳方法很可能是在故事板中选择表格视图单元格和集合视图,并添加约束" Equal Widths"。
您还需要将表格视图单元格的高度设置为等于整个集合视图的高度。如果在固定高度的集合视图中总是有3个项目,那么您只需硬编码表格视图单元格的高度即可。但是,如果集合视图中的项目数对于不同的表格视图单元格会发生变化,那么您将需要为“#34; Equal Heights"”添加约束,类似于我在上一步中所描述的。 / p>
应该注意的是,由于您的内容将垂直显示,您可以通过向每个TableView单元格添加UITableView(而不是UICollectionView)来实现相同的结果,但这会增加一些复杂性,因为两个表视图都将调用ViewController.swift文件中的相同方法。解决方法是使用标签来标识哪个表视图正在调用该方法,但我个人认为将UITableView作为您的父级,并将UICollectionView作为您的孩子更为直接。
随意发表您需要任何详细说明的评论:)