Я пытаюсь сделать UICollectionViewDelegateFlowLayout с 3 элементами в строке на треть ширины экрана. По какой-то причине он добавляет интервал и не соответствует квадратному макету.
Вот функции UICollectionViewDelegateFlowLayout.
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let yourWidth = (collectionView.bounds.width/3.0) - 2
let yourHeight = yourWidth
return CGSize(width: yourWidth, height: yourHeight)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
//return UIEdgeInsets.zero
return UIEdgeInsets(top: 0,left: 0,bottom: 0,right: 0);
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
return 1
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return 1
}
Пожалуйста, не предлагайте добавлять макет в представление коллекции в методе viewDidLoad. Я пробовал это, и это не сработало, потому что он удаляет мой заголовок.