How to place a UICollectionViewCell at the bottom of the screen?

There UICollectionVieware one to three UICollectionViewCell. Is there a way to always position the cells (s) at the bottom of the screen after reloadData?

+----------------+     +----------------+     +----------------+
|                |     |                |     |                |
|                |     |                |     |                |
|                |     |                |     |                |
|                |     |                |     | +------------+ |
|                |     |                |     | |   cell 1   | |
|                |     |                |     | +------------+ |
|                |     | +------------+ |     | +------------+ |
|                |     | |   cell 1   | |     | |   cell 2   | |
|                |     | +------------+ |     | +------------+ |
| +------------+ |     | +------------+ |     | +------------+ |
| |   cell 1   | |     | |   cell 2   | |     | |   cell 3   | |
| +------------+ |     | +------------+ |     | +------------+ |
+----------------+     +----------------+     +----------------+
+4
source share
1 answer

Just call the following method after loading the collection and you will get what you need.

 - (void)updateContentInset {
        NSInteger numRows = [self collectionView:collectionView numberOfItemsInSection:0];
        CGSize contentInsetTopSize = collectionView.bounds.size;
        CGFloat contentInsetTop = contentInsetTopSize.height;
        int i=0;
        for (i=0;i<numRows;i++) {
            CGFloat height = 70 + [self heightOfTextForString:[arrNotes objectAtIndex:[NSIndexPath indexPathForItem:i inSection:0].row] andFont:[UIFont fontWithName:@"HelveticaNeue-LightItalic" size:13.0] maxSize:CGSizeMake(157, FLT_MAX)];
            contentInsetTop = contentInsetTop - height;

            if (contentInsetTop <=0) {
                contentInsetTop = 0;
                break;
            }
        }

        NSLog(@"Height-->%f",contentInsetTop);
        collectionView.contentInset = UIEdgeInsetsMake(contentInsetTop,0,0,0);

        [NSTimer scheduledTimerWithTimeInterval: 0.01 target: self
                                       selector: @selector(callTheTarget:) userInfo: nil repeats: NO];
    }
+1
source

All Articles