0Day Forums
How to change space between cells in UICollectionView? - Printable Version

+- 0Day Forums (https://0day.red)
+-- Forum: Coding (https://0day.red/Forum-Coding)
+--- Forum: Swift (https://0day.red/Forum-Swift)
+--- Thread: How to change space between cells in UICollectionView? (/Thread-How-to-change-space-between-cells-in-UICollectionView)



How to change space between cells in UICollectionView? - vivisection867 - 07-19-2023

I want to reduce the size between cells in row.
Now it looks like:

[![enter image description here][1]][1]

I'm trying this, for reduce the size between them:

let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
layout.sectionInset = UIEdgeInsets(top: 20, left: 2, bottom: 10, right: 2)
layout.minimumInteritemSpacing = 0
layout.minimumLineSpacing = 0

but it doesn't help me. What I do wrong?


[1]:



RE: How to change space between cells in UICollectionView? - scarlatinal715070 - 07-19-2023

On your code, you have to create a IBOutlet to your collection view, and then assign the collectionViewLayout as such:

let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
layout.sectionInset = UIEdgeInsets(top: 20, left: 2, bottom: 10, right: 2)
layout.minimumInteritemSpacing = 0
layout.minimumLineSpacing = 0
layout.scrollDirection = .horizontal
collectionView!.collectionViewLayout = layout






RE: How to change space between cells in UICollectionView? - alesandrokaqalq - 07-19-2023

extension ViewController: UICollectionViewDelegateFlowLayout {
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let collectionWidth = collectionView.bounds.width
return CGSize(width: collectionWidth, height: collectionWidth/2)
}
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 100
}
}




RE: How to change space between cells in UICollectionView? - sniggering199653 - 07-19-2023

(Swift 4)

* Click on collection View in storyboard.
* on right hand side, click size inspector.
* manage and alter the cell size value and you'll figure it out by yourself.



RE: How to change space between cells in UICollectionView? - bipenniform181692 - 07-19-2023

Swift 5 Programmatically
------------------------

lazy var collectionView: UICollectionView = {
let layout = UICollectionViewFlowLayout()
layout.scrollDirection = .horizontal

//Provide Width and Height According to your need
let width = UIScreen.main.bounds.width / 4
let height = UIScreen.main.bounds.height / 10
layout.itemSize = CGSize(width: width, height: height)

//Make Space as Zero
layout.minimumInteritemSpacing = 0
layout.minimumLineSpacing = 0

return UICollectionView(frame: self.view.frame, collectionViewLayout: layout)
}()

You can provide much more customization inside the `lazy collectionView` Block.


RE: How to change space between cells in UICollectionView? - kathrynedoq - 07-19-2023

Its simple

let layout = contactsCollectionView.collectionViewLayout as? UICollectionViewFlowLayout
layout?.minimumLineSpacing = 8


RE: How to change space between cells in UICollectionView? - appendents195046 - 07-19-2023

If you create `CollectionView` In `StoryBoard` or `Xib`,Go to `StoryBoard` or `Xib` and set these Values from

[![enter image description here][1]][1]


[1]:



RE: How to change space between cells in UICollectionView? - oologically320 - 07-19-2023

//Objective c
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
return CGSizeMake((collectionView.frame.size.width/3)-20, 100);
}

// Swift 2.0

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
return CGSizeMake((collectionView.frame.size.width / 3) - 20, 100)
}

// Swift 3.0
override func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: CGFloat((collectionView.frame.size.width / 3) - 20), height: CGFloat(100))
}


RE: How to change space between cells in UICollectionView? - undiscriminated25401 - 07-19-2023

Go to the storyboard , right click on collection view and [![enter image description here][1]][1]


[1]:

And Check your minimum spacing between the cell and reduce it to zero .