我有一个UIView,我在其中添加UICollectionView
作为横幅视图,看起来像一个旋转木马。 Viewcontroller
中存在UIView
的{{1}}是pageviewcontroller
的一部分。
PageVC - > UIViewController
- > UIView
- > UICollectionView
。
每个VC都有自己的横幅,所以当刷页时,我会用相应的数据重新加载collectionView
,我能够看到它。现在,如果访问我已访问的页面,collectionview
单元格将消失。 collectionview
可见,但单元格以某种方式隐藏。
collectionview
单元格是自定义单元格,我没有使用任何自定义布局,我使用默认的flowlayout
。这在iOS8-devices
中工作正常。
以下是调试器输出, 当单元格可见时:
CollectionViewCell: 0x7f9db8d9ffa0; baseClass = UICollectionViewCell; frame = (209 3.5; 209 96); clipsToBounds = YES; opaque = NO; layer = <CALayer: 0x7f9dbb5dde60>>
当隐形(你现在可以看到它隐藏)时,现在隐藏了被破坏的细胞,不知道它为什么会发生
CollectionViewCell: 0x7f9dbb5897e0; baseClass = UICollectionViewCell; frame = (0 3.5; 209 96); clipsToBounds = YES; hidden = YES; opaque = NO; layer = <CALayer: 0x7f9dbb590220>>
indexPathsForVisibleItems 正在返回nil。
答案 0 :(得分:3)
我从多个地方调用reloadData
导致系统混淆(可能),特别是我在reloadData
方法中写了updateconstraints
,因此对每个小的约束更改{ {1}}被调用了。
如果您遇到同样的问题,请检查reloadData
reloadData
的所有地点。
答案 1 :(得分:1)
我遇到了同样的问题。
在
没有解决我的问题,我意识到在某些情况下 collectionView:layout:sizeForItemAtIndexPath:会返回 CGSizeZero 。
当避免使用CGSizeZero时,一切运行良好。
答案 2 :(得分:1)
同样的问题。
这是我的情况:
我的收藏夹视图有自定义布局。我使用默认的流布局没有任何问题。
当我使用自定义布局时,其单元格宽度为半屏宽度。当我滚动到第5个单元格时,所有单元格都无缘无故地隐藏起来。
最后我发现当我在故事板的布局类中正确设置单元格大小时,问题就解决了。
希望这有帮助。