Как убрать пробел между ячейками представления коллекции? - PullRequest
0 голосов
/ 11 июня 2018

У меня есть 3 ячейки, первая ячейка имеет метка , вторая ячейка имеет текстовое поле , а последняя ячейка имеет кнопку , при этом она дает автоматический размерно как убрать пробел между ячейками

if let flowlayout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout {
            flowlayout.estimatedItemSize = UICollectionViewFlowLayoutAutomaticSize
        }

или как использовать этот метод в моем сценарии

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    code
}

enter image description here

Ответы [ 5 ]

0 голосов
/ 11 мая 2019

Swift 5

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

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
    return 0
}
0 голосов
/ 27 июня 2018

Ячейка находится в центре, я выровнял ячейку по левому краю с помощью этой библиотеки AlignedCollectionViewFlowLayout , теперь пространство работает, сколько места я даю

0 голосов
/ 11 июня 2018

Swift 4.0

Существует 2 метода делегата UICollectionViewDelegateFlowLayout для удаления пробела между элементом и разделом.

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

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
    return 0
}
0 голосов
/ 11 июня 2018

Используйте это:

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

И для разнесения в стороны:

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: minimumInteritemSpacingForSectionAtIndex UICollectionViewLayout,  section: Int) -> CGFloat {
    return 0 
}
0 голосов
/ 11 июня 2018

См .: https://developer.apple.com/documentation/uikit/uicollectionviewflowlayout

let layout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout
layout.minimumInteritemSpacing = 0 // The minimum spacing to use between items in the same row.
myCollectionView.layout = layout // or myCollectionView.collectionViewLayout ( I don't have compiler here so I do not know the property name, but I know it has property that has layout in its name )
...