删除列表 UICollectionView 单元格分隔符

Remove list UICollectionView cell separators

我正在尝试使用新的 CollectionView API.

构建类似于 WhatsNewKit(WhatsNewKit) 的列表

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

( "", “” )

将尝试通过打破约束来恢复 )

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

您可以通过更改 UICollectionLayoutListConfiguration 的 属性 showsSeparators 来隐藏分隔符(您可能在配置集合视图布局时将 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)

与已接受的答案相同,只是布局简单:

var config = UICollectionLayoutListConfiguration(appearance: .plain)
config.showsSeparators = false
        
let layout = UICollectionViewCompositionalLayout.list(using: config)
        
collectionView.collectionViewLayout = layout