是否可以增加UICollectionViewLayout视口? (即在UICollectionView框架外加载+ 2 / -2个单元格)

时间:2014-05-14 17:06:37

标签: ios uiscrollview uicollectionview uicollectionviewlayout

我有一个使用UICollectionView的全屏图像库。它被分页,一切运行正常,但有一件事我不喜欢。

单元格只有在进入可见视口时才会被重用,并且在分配新图像时会出现闪烁效果(当前行为正常)。

如何指定比当前UICollectionView框架稍大的视口,以便加载和重用视图外的+ 1 / -1页面?当他们进入视野时,他们已经被初始化并准备就绪,因此闪烁效应会消失。

谢谢!

1 个答案:

答案 0 :(得分:0)

注意:这是假设垂直,调整水平

您可以将框架放大,然后添加contentInset

CGFloat offset = 40.0; // or whatever works

CGRect yourFrame = yourCollectionView.bounds;
yourFrame.size.height += offset;
yourCollectionView.bounds = yourFrame;

CGFloat halfOffset = offset / 2.0;
yourFlowLayout.sectionInset = UIEdgeInsetsMake(halfOffset, 0, halfOffset, 0);

你必须根据你的代码放置这些,但这就是我们正在做的事情。我们正在扩展您的框架,以便细胞重用发生在可见边界之外。通过将插入内容添加到流布局中,可以使内容仍然正确对齐。