如何根据用户操作即滑动 UISlider动态更新 UICollectionViewCompositionalLayout

问题描述

我正在开发一个想要实现此功能的项目:当用户滑动 UiSlider 时,collectionView 会动态添加/减少列数,例如在 Google 文档中添加/删除列。

我试图寻找解决方案,有些人建议使用 invalidateLayout()。我将此方法添加UiSlider 的操作中,但 collectionView 没有更新布局。

这是我创建布局的代码

func createLayout() -> UICollectionViewLayout {
    let itemSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1/CGFloat(numberOfColumns)),heightDimension: .fractionalHeight(1.0))
    let item = NSCollectionLayoutItem(layoutSize: itemSize)
    item.contentInsets = NSDirectionalEdgeInsets(top: inset,leading: inset,bottom: inset,trailing: inset)
    let groupSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0),heightDimension: .fractionalWidth(1/CGFloat(numberOfColumns)))
    let group = NSCollectionLayoutGroup.horizontal(layoutSize: groupSize,subitem: item,count: numberOfColumns)
    
    let section = NSCollectionLayoutSection(group: group)
    return UICollectionViewCompositionalLayout(section: section)
}

numberOfColumns 将根据用户的操作进行更新。我希望它也更新布局。我正在使用 Swift。

任何帮助将不胜感激!

add/remove column in Google doc

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)