SpacingForSectionAtIndex不

SpacingForSectionAtIndex不

ios - UICollectionViewCell的MinimumInteritemSpacingForSectionAtIndex不正确-LMLPHP

上图显示了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,再加上间距似乎是正确的。

最佳答案

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

对于您的情况,您可以尝试调整sizeForItemAtIndexPath,返回等于(screenWidth - 1.0) / 2的宽度,以使interitemSpacing精确为1.0。

07-27 13:40