UICollectionView垂直间距约束显示白条= 20像素

时间:2016-06-13 00:41:02

标签: ios objective-c autolayout uicollectionview

我正在尝试显示所有100个4x25 UICell按钮,但是当我在底部滚动停止时,最后一行只显示4个单元格中的一半(想象一个正方形的下半部分没有显示)。我添加了约束,包括垂直间距约束,即20像素。现在,4个单元格的最后一行全部可见,但我的屏幕有20像素约束可见为白色条(我的屏幕的整个宽度和20高度)。我实际上希望滚动从底部停止20像素,因为如果我不这样做,它看起来很奇怪。

我试图设置View(这是我的UICollectionView的超级)来清除颜色,但仍然没有,条实际上变黑了。

这里有一些代码来展示我对布局的看法:

    UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
    flowLayout.sectionInset = UIEdgeInsetsMake(150, 20, 0, 20);
    [flowLayout setItemSize:CGSizeMake(55, 55)];
    [flowLayout setScrollDirection:UICollectionViewScrollDirectionVertical];

    [self.collectionView setCollectionViewLayout:flowLayout];
    self.collectionView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"MainScreen.png"]];

有什么想法?建议?我已经完成了重置建议约束。

1 个答案:

答案 0 :(得分:0)

你重置了flowLayout.sectionInset吗?我认为这个问题发生在这里:

messages

你可以尝试这段代码:

flowLayout.sectionInset= UIEdgeInsetsMake(150, 20, 0, 20);

在最后一行显示图像的hafl,我认为你可以看到并重置yourCollectionView.frame(参见它的autoresizeLayout)。你能试试这段代码吗?

flowLayout.sectionInset= UIEdgeInsetsMake(150, 20, 0, 0);