Ios 如何防止在集合视图合成布局上自动聚焦

Ios 如何防止在集合视图合成布局上自动聚焦,ios,swift,uicollectionview,Ios,Swift,Uicollectionview,我有一个具有合成布局的collectionview,第0部分是一个启用分页的水平滚动视图(图片上的红色圆圈) 所以我在集合视图上使用collectionView.scrollToItem(at:indepath,animated:true),并使用计时器自动滚动节0。但每当滚动发生时,它就会自动聚焦在第0节 是否有任何方法允许自动滚动部分0,但防止此部分获得焦点,而用户可能会浏览集合视图下方的项目。目前,每当自动滚动发生时,它也会滚动到最顶端 下面是设置集合视图的合成布局的代码。第0节是水平滚动

我有一个具有合成布局的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
        }
    }

   
如果已经回答了,请道歉,但我没有找到它。谢谢你的帮助


我想你是在问:你想每隔几秒钟显示一个不同的食物项目,但用户可能会在页面上看得更远,因此当你试图通过告诉集合视图滚动到它来显示不同的食物项目时,它会一直向上滚动以显示下一个食物项目。是这样吗


我认为解决方案是,如果该部分不可见,则禁用计时器。如果用户最近滚动了该部分,您还应该禁用计时器,以便计时器不会撤消用户刚才想要查看的内容。

谢谢!听起来很有希望