ios - UICollectionViewCompositionalLayout 不会滚动到不完整的组
问题描述
我有简单的实现UICollectionViewCompositionalLayout
。有两个部分,每个部分都有水平滚动的单行,部分中的每个项目都有整个容器的 1/4 宽度(现在是全屏)。
我想要分页滚动,但是当数据源在该部分提供4n+1 个元素时,我无法滚动访问最后一项。
如何使用简单的最后一项的纯动画来修复它UICollectionViewFlowLayout
?
func createCollectionViewLayout() -> UICollectionViewLayout {
UICollectionViewCompositionalLayout { sectionIndex, environment -> NSCollectionLayoutSection? in
let itemSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1 / 4), heightDimension: .fractionalHeight(1))
let item = NSCollectionLayoutItem(layoutSize: itemSize)
let groupSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1), heightDimension: .fractionalWidth(0.4))
let group = NSCollectionLayoutGroup.horizontal(layoutSize: groupSize, subitem: item, count: 4)
let headerSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1), heightDimension: .absolute(44))
let header = NSCollectionLayoutBoundarySupplementaryItem(layoutSize: headerSize, elementKind: UICollectionView.elementKindSectionHeader, alignment: .top)
let section = NSCollectionLayoutSection(group: group)
section.orthogonalScrollingBehavior = .groupPaging
section.boundarySupplementaryItems = [header]
return section
}
}
解决方案
经过复杂的研究:似乎是布局错误,一种可能的解决方案是以编程方式更改orthogonalScrollingBehavior
取决于项目的数量
推荐阅读
- rest - Restful Web 服务 - @Produces 中的错误(MediaType.APPLICATION_XML)
- .net - 在 SQL Server 的事务中运行更新时从表中选择数据
- android - AWS AppSync Android NullPointerException
- ios - 仅水平滚动图像的登录页面
- typescript - Keyof 推断字符串 | 键只是字符串时的数字
- performance - 如何使用 loadrunner 在性能测试中设计 loadprofile?
- ios - 同时使用 Metal 和 SceneKit 的问题
- asp.net-mvc - 如何使用asp.net mvc在ckeditor中上传图像
- android - 如果我调用 pojo 类 get 方法,它会给出错误。这是我的 pojo 课
- c++ - 如何在 Sublime text 3 中编译多个 .cpp 文件和 main.cpp