问题描述
我正在开发一个想要实现此功能的项目:当用户滑动 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 (将#修改为@)