我在我的iPad应用程序中使用collectionView。我使用了继承UICollectionViewFlowLayout类的自定义布局类。
我正在使用水平滚动方向。问题是,每当我们使用滚动进行集合视图时,有时候单元格会消失。我调试了代码,发现在创建单元格后的数据源方法中,其隐藏属性自动为ON。
我尝试使用下面的行,但它不能正常工作
cell.hidden = NO
我还有以下方法来使绑定更改的布局无效。
- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds {
return YES;
}
但我仍面临着问题。对此有何解决方案?
提前致谢。
答案 0 :(得分:1)
在UICollectionView中存在可能导致单元格disappear的已知问题。如果他们的修复不适合您,请尝试PSTCollectionView, 这是UICollectionView的开源替代品。如果PSTCollectionView有效,您应该向Apple提交雷达票。
答案 1 :(得分:0)
在我的项目中,UICollectionViewCell也消失了,我使用的flowLayout是一个名为UICollectionViewLeftAlignedLayout
的自定义布局。它的滚动方向是水平的。我一次又一次地调试项目,尝试了我可以通过google.com
找到的每个解决方案。所有这些对我都不起作用。
最后,我删除UICollectionViewLeftAlignedLayout
并使用原生
UICollectionViewFlowLayout
通过:
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
[layout setScrollDirection:UICollectionViewScrollDirectionHorizontal];
layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
_collectionView.collectionViewLayout = layout;
_CollectionView.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
我通过故事板设置单元格间距(您也可以通过布局设置它们):
然后我再次运行该项目,UICollectionViewCell不再消失。希望我的案子可以帮助你。