Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UICollectionView layout of last cell

I have a collectionview which has a UICollectionViewFlowLayout I put 10 items in it. and they have different sizes:

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {

if (indexPath.row<6) {
    CGSize retval =  CGSizeMake(100, 100);
    return retval;
}

CGSize retval =  CGSizeMake(200, 130);

return retval;
}

it layouts like: first 6 cells look good, and 7-9 are correct, but the last one is not center aligned,

enter image description hereenter image description here

any one could explain this to me?

and resent days Im playing with collection layouts, but still feel confused abt the selection of flowlayout and custom layout . any principles on this?

many thx in advance.

like image 923
NickYu Avatar asked Jul 21 '14 08:07

NickYu


1 Answers

I came across a similar issue with the last few cells in the collection view having an unsightly offset. In my case it was a result of not honoring the section insets with respect to the item sizes.

Try setting the sectionInset of the flowLayout to 0:

flowLayout.sectionInset = UIEdgeInsetsZero;

If this doesn't work you might need to enforce a minimumInterItemSpacing as the flow layout seems to bugger this up on the last few cells:

flowLayout.minimumInteritemSpacing = 10.f;//or any reasonable number
like image 157
Daniel Galasko Avatar answered Oct 21 '22 05:10

Daniel Galasko