我已经研究了相当长一段时间(包括使用 ChatGPT 一个小时)来尝试找出使用 UICollectionView 实现此 UI 的方法:
我这个 iOS 开发者已经做了 10 多年了,他认为 UICollectionView 可能无法处理这种布局(节中节)。但不可否认的是,我并不了解它能做的所有事情。看起来组合布局是为了支持类似的东西而设计的,但我不知道如何将它们结合在一起。理想情况下,当您滚动时,部分和子部分标题会粘在顶部,但这并不是一个问题。
我正在重构的现有代码使用 UICollectionView,所以出于方便,我更喜欢这样做,但如果有更好的方法来实现这一点,我对此持开放态度。 CollectionView 单元格内的 TableView?集合视图的堆栈视图? : 做鬼脸:我被难住了。
是的,通过
UICollectionViewFlowLayout
来设计这样的设计是一个挑战。使用三种类型的tableViewCells会容易得多。 UITableViewCell 中的 CollectionView 是合法的(如果遇到任何性能问题,您可以尝试以编程方式绘制这些圆圈,但我确信不需要它)
tableView.register(HeaderTableViewCell.self, forCellReuseIdentifier: "HeaderCell")
tableView.register(SubHeaderTableViewCell.self, forCellReuseIdentifier: "SubHeaderCell")
tableView.register(CollectionTableViewCell.self, forCellReuseIdentifier: "CollectionCell")