1

默认情况下,集合视图中的单元格将在它们之间添加空间,以便在集合视图的边框之间伸展。在我为iPad制作的应用程序中,我需要能够并排强制单元格(间距= 0)。没有方法作为流布局或集合视图单元的一部分,所以有没有办法可以做到这一点?在swift中将单元格并排放置在集合视图中

+0

请发布您的代码为collectionview – anhtu

回答

0

如果您使用的故事板,然后选择CollectionViewFlowLayout和改变间距最小为0

enter image description here

+0

虽然这是正确的,但它也没有什么帮助。 “...并改变它”改变什么?什么?你说过什么(或截图)是什么意思? – Fogmeister

+0

@Fogmeister我会更新答案 – Kalpesh

2

你在找什么是你的FlowLayout的以下属性:minimumInterimSpacingminimumLineSpacing 如果设置那些0,collectionView中的项目之间根本没有间距。

在代码中,你通常会做这样的(没有故事板):

override func loadView() { 
    super.loadView() 

    // 
    // layout 
    // 

    let layout = UICollectionViewFlowLayout() 
    layout.minimumInteritemSpacing = 0 
    layout.minimumLineSpacing  = 10 

    // 
    // collectionView 
    // 

    self.collectionView = UICollectionView(frame: CGRectZero, collectionViewLayout: layout) 
    self.view.addSubview(collectionView) 
} 

如果要动态地设置这些属性,实现UICollectionViewFlowLayout的相应方法(也应与分镜脚本工作)。

class MyViewController: UIViewController, 
    UICollectionViewDelegate, 
    UICollectionViewDataSource, 
    UICollectionViewDelegateFlowLayout { 

    func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAtIndex section: Int) -> CGFloat { 
     return 0 
    } 

    func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAtIndex section: Int) -> CGFloat { 
     return 0 
    } 

    // the rest of your code 

} 
相关问题