代码之家  ›  专栏  ›  技术社区  ›  David Kadlcek

uiCollectionView已启用

  •  0
  • David Kadlcek  · 技术社区  · 6 年前

    我的水平卷轴有问题 collectionView 是的。

    我想按部分滚动。我有三个部分。我想把它放在视野的中心。

    首先,它看起来是我想要的

    enter image description here

    但当我滚动下一个…左右插入不同。

    enter image description here

    最后一个也坏了。

    enter image description here

    我试过了 scrollViewDidEndDecelerating ,但没用。它的动画很难看。

    我的代码 集合视图 布局。

        let layout = UICollectionViewFlowLayout()
        layout.sectionInset = UIEdgeInsets(top: 0, left: 15, bottom: 0, right: 15)
        layout.minimumLineSpacing = 5
        layout.scrollDirection = .horizontal
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Dhaval Dobariya    6 年前

    你必须实施 UICollectionViewDelegateFlowLayout 解决这个问题的方法。

    let minLineSpace = 4
    
    func collectionView(_ collectionView: UICollectionView,
                        layout collectionViewLayout: UICollectionViewLayout,
                        sizeForItemAt indexPath: IndexPath) -> CGSize {
    
        return CGSize(width: UIScreen.main.bounds.width - minLineSpace, height: collectionView.frame.size.height)
    }
    
    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
        return minLineSpace
    }
    
    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
        return UIEdgeInsetsMake(0, (minLineSpace / 2), 0, (minLineSpace / 2))
    }
    

    这里我在两个单元格之间添加了4个点间距,您可以根据需要自定义。