As far as I can see, UICollectionViewFlowLayout
justifies all the lines of a section except the last one. So for example, if there aren't enough items to fill more than 1 line, the result is not justified.
What is the simplest way to either configure or subclass UICollectionViewFlowLayout
so that it also justifies the last line of a section?
You can do this by subclassing UICollectionViewFlowLayout and overriding layoutAttributesForElementsInRect:
and layoutAttributesForItemAtIndexPath:
to place all the items in the last line (except the first, which is already correct) where you want them, by changing the frame
property of the item's UICollectionViewLayoutAttributes object.
This is not really possible, unfortunately. It's just not designed that way, unfortunately.
One thing I can think of that might work though is to add an extra item into the data source, returned at the end, which has a cell that is 0 pixels tall and the width of the collection view. That will force the last row to be a single row with just that one item on it and then all rows above it will be justified.