I did UICollectionViewCompositionalLayout with orthogonal section with groupPagingCentered as follow:
The other sections are scrolled vertically. When scrolling vertically, the orthogonal offset is reset to zero. If I comment on the visibleItemsInvalidationHandler, it will not be reset.
Why does it happen? Does anybody have this problem?
Code Block func neighborsRealitiesSection() -> NSCollectionLayoutSection { let itemSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1), heightDimension: .fractionalHeight(1)) let item = NSCollectionLayoutItem(layoutSize: itemSize) let cellWidth = UIScreen.main.bounds.width / 3 + 1 let groupSize = NSCollectionLayoutSize(widthDimension: .absolute(cellWidth), heightDimension: .absolute(cellWidth)) let group = NSCollectionLayoutGroup.vertical(layoutSize: groupSize, subitems: [item]) let section = NSCollectionLayoutSection(group: group) section.orthogonalScrollingBehavior = .groupPagingCentered section.visibleItemsInvalidationHandler = { items, offset, environment in items.filter { $0.representedElementKind != UICollectionView.elementKindSectionHeader }.forEach { item in let distanceFromCenter = abs((item.frame.midX - offset.x) - environment.container.contentSize.width / 2.0) let minScale: CGFloat = 0.7 let maxScale: CGFloat = 1 let scale = max(maxScale - (distanceFromCenter / environment.container.contentSize.width), minScale) item.transform = CGAffineTransform(scale: scale) } } }
The other sections are scrolled vertically. When scrolling vertically, the orthogonal offset is reset to zero. If I comment on the visibleItemsInvalidationHandler, it will not be reset.
Why does it happen? Does anybody have this problem?