如何在屏幕底部定位UICollectionViewCell?

时间:2014-11-15 06:41:17

标签: uiscrollview uicollectionview uicollectionviewcell

UICollectionViewCell中有一到三个UICollectionView。有没有办法在reloadData之后始终将单元格放在屏幕底部?

+----------------+     +----------------+     +----------------+
|                |     |                |     |                |
|                |     |                |     |                |
|                |     |                |     |                |
|                |     |                |     | +------------+ |
|                |     |                |     | |   cell 1   | |
|                |     |                |     | +------------+ |
|                |     | +------------+ |     | +------------+ |
|                |     | |   cell 1   | |     | |   cell 2   | |
|                |     | +------------+ |     | +------------+ |
| +------------+ |     | +------------+ |     | +------------+ |
| |   cell 1   | |     | |   cell 2   | |     | |   cell 3   | |
| +------------+ |     | +------------+ |     | +------------+ |
+----------------+     +----------------+     +----------------+

1 个答案:

答案 0 :(得分:1)

加载集合视图后,只需调用以下方法即可获得所需内容。

 - (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];
    }