11

我在我的 iPad 应用程序中使用 collectionView。我使用了继承 UICollectionViewFlowLayout 类的自定义布局类。

我正在使用水平滚动方向。问题是,每当我们使用滚动查看集合视图时,有时单元格会消失。我调试了代码,发现在创建单元格后的数据源方法中,它的隐藏属性自动打开。

我尝试使用下面的行但它不起作用

   cell.hidden = NO  

我还有以下方法可以使绑定更改的布局无效。

    - (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds {
          return YES;
        }

但我仍然面临问题。对此有任何解决方案吗?

提前致谢。

4

2 回答 2

1

有一个已知问题可能导致 UICollectionView 中的单元格消失。如果他们的修复对您不起作用,请尝试PSTCollectionView,它是 UICollectionView 的开源替代品。如果 PSTCollectionView 有效,您应该向 Apple 提交雷达票。

于 2013-03-09T21:23:13.767 回答
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;

我通过storyboard设置单元格间距(也可以通过layout的propery设置):

间距

然后我再次运行该项目,UICollectionViewCell 不再消失。希望我的案例可以帮到你。

于 2016-11-30T11:11:26.893 回答