Ios 如何防止在集合视图合成布局上自动聚焦
我有一个具有合成布局的collectionview,第0部分是一个启用分页的水平滚动视图(图片上的红色圆圈) 所以我在集合视图上使用collectionView.scrollToItem(at:indepath,animated:true),并使用计时器自动滚动节0。但每当滚动发生时,它就会自动聚焦在第0节 是否有任何方法允许自动滚动部分0,但防止此部分获得焦点,而用户可能会浏览集合视图下方的项目。目前,每当自动滚动发生时,它也会滚动到最顶端 下面是设置集合视图的合成布局的代码。第0节是水平滚动的Ios 如何防止在集合视图合成布局上自动聚焦,ios,swift,uicollectionview,Ios,Swift,Uicollectionview,我有一个具有合成布局的collectionview,第0部分是一个启用分页的水平滚动视图(图片上的红色圆圈) 所以我在集合视图上使用collectionView.scrollToItem(at:indepath,animated:true),并使用计时器自动滚动节0。但每当滚动发生时,它就会自动聚焦在第0节 是否有任何方法允许自动滚动部分0,但防止此部分获得焦点,而用户可能会浏览集合视图下方的项目。目前,每当自动滚动发生时,它也会滚动到最顶端 下面是设置集合视图的合成布局的代码。第0节是水平滚动
let compLayout = UICollectionViewCompositionalLayout { (sectionNumer, env) -> NSCollectionLayoutSection? in
if sectionNumer == 0 {
let item = NSCollectionLayoutItem(layoutSize: .init(widthDimension: .fractionalWidth(1), heightDimension: .fractionalHeight(1)))
let group = NSCollectionLayoutGroup.horizontal(layoutSize: .init(widthDimension: .fractionalWidth(1), heightDimension: .estimated(280)), subitems: [item])
let section = NSCollectionLayoutSection(group: group)
section.orthogonalScrollingBehavior = .paging
return section
} else {
let item = NSCollectionLayoutItem(layoutSize: .init(widthDimension: .fractionalWidth(0.5), heightDimension: .absolute(200)))
item.contentInsets.trailing = 8
item.contentInsets.bottom = 8
let group = NSCollectionLayoutGroup.horizontal(layoutSize: .init(widthDimension: .fractionalWidth(1), heightDimension: .estimated(500)), subitems: [item])
group.contentInsets.leading = 8
let section = NSCollectionLayoutSection(group: group)
return section
}
}
如果已经回答了,请道歉,但我没有找到它。谢谢你的帮助
我想你是在问:你想每隔几秒钟显示一个不同的食物项目,但用户可能会在页面上看得更远,因此当你试图通过告诉集合视图滚动到它来显示不同的食物项目时,它会一直向上滚动以显示下一个食物项目。是这样吗
我认为解决方案是,如果该部分不可见,则禁用计时器。如果用户最近滚动了该部分,您还应该禁用计时器,以便计时器不会撤消用户刚才想要查看的内容。谢谢!听起来很有希望