UICollectionViewCell的minimumInteritemSpacingForSectionAtIndex不正确

时间:2015-12-22 10:36:29

标签: ios swift uicollectionview uicollectionviewcell

enter image description here

上图显示了4个细胞的中心。如您所见,minimumInteritemSpacingForSectionAtIndex和minimumLineSpacingForSectionAtIndex不一样。我将展位Cell和Line设置为1.

这是我的单元格布局代码:谢谢

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {

         //Get device resolution
    screenSize = UIScreen.mainScreen().bounds
    screenWidth = screenSize.width
    screenHeight = screenSize.height

        let screenWidth = screenSize.width

        let size = CGSize(width: screenWidth/2 , height: 500 )
        return size
    }

    func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAtIndex section: Int) -> UIEdgeInsets {
        return UIEdgeInsetsMake(0, 0, 10, 0);
    }

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

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

PS:截图来自iPhone 6模拟器。对于iPhone 6加上间距似乎是正确的。

1 个答案:

答案 0 :(得分:0)

请注意,它名为minimumInteritemSpacing而不是interitemSpacing。这意味着间距不会小于1.0,但可能超过1.0。

就您的情况而言,您可以尝试调整sizeForItemAtIndexPath,返回宽度等于(screenWidth - 1.0) / 2,使interitemSpacing正好为1.0。