首页 > 解决方案 > 删除列表 UICollectionView 单元格分隔符

问题描述

我正在尝试使用新的 CollectionView API构建一个类似于 WhatsNewKit( WhatsNewKit ) 的列表。

我的问题是我似乎无法移除单元格分隔符。我将 UICollectionViewListCell 用作单元格,到目前为止,我尝试像这样更改单元格 separatorLayoutGuide,cell.separatorLayoutGuide.heightAnchor.constraint(equalToConstant: 0).isActive = true 但它只是告诉我它打破了 CollectionView 约束。

( "<NSLayoutConstraint:0x600002364b90 UILayoutGuide:0x60000390a060'UICollectionViewListCellSeparatorLayoutGuide'.height == 0 (active)>", "<NSLayoutConstraint:0x600002364730 'UICollectionViewListCell-height-separatorLayoutGuide-constraint' UILayoutGuide:0x60000390a060'UICollectionViewListCellSeparatorLayoutGuide'.height == 0.333333 (active )>")

将尝试通过打破约束来恢复 <NSLayoutConstraint:0x600002364730 'UICollectionViewListCell-height-separatorLayoutGuide-constraint' UILayoutGuide:0x60000390a060'UICollectionViewListCellSeparatorLayoutGuide'.height == 0.333333 (active)>)

那么有没有办法删除这些分隔符?

在此处输入图像描述

标签: iosswiftlistuicollectionviewuikit

解决方案


showsSeparators您可以通过更改的属性来隐藏分隔符(您可能在配置集合视图布局时UICollectionLayoutListConfiguration传递UICollectionLayoutListConfiguration给您的)。collectionView.collectionViewLayout

示例用法:

let provider = {(_: Int, layoutEnv: NSCollectionLayoutEnvironment) -> NSCollectionLayoutSection? in
  var configuration = UICollectionLayoutListConfiguration(appearance: .grouped)
  configuration.showsSeparators = false // <----- hide separators
  return .list(using: configuration, layoutEnvironment: layoutEnv)
}
collectionView.collectionViewLayout = UICollectionViewCompositionalLayout(sectionProvider: provider)

推荐阅读