在UICollectionView中滚动2 – 3次后,单元格消失

我在滚动我的UICollectionView一个奇怪的问题。 它显示一个没有任何单元格的空白视图。

它奇怪地隐藏我的细胞或删除我的细胞,我不知道,但我无法find任何解决scheme。

我已经尝试从这些解决scheme:

第一:试图创build自定义类的UICollectionViewFlowLayout并按照指示与所有不同的方法,但无法解决我的问题。

第二:尝试下面的方法重新分配和重新计算我的单元格大小:

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

我跟随的链接:

Que1: UICollectionView的单元格消失

Que2: 使用我自己的UICollectionViewFlowLayout子类滚动时,UICollectionView项目消失

请指导我什么是错误的与自定义单元格简单collectionview。

参考图片:

滚动之前: 在这里输入图像说明

滚动后: 在这里输入图像说明

我在这里回答我自己的问题。

由于这个问题最近两天我被卡住,希望有人得到帮助,如果任何人得到像我这样的问题。

正如我使用CollectionViewController并将该Controller视图添加到我当前使用的控制器,以便它消失我的集合视图单元格。

原因:由于ARC释放delegatedatasource连接,并且collecton视图无法获取单元格,而我从上到下滚动。

解:

我通过两种方式解决这个问题。

第一:由于delegate & datasource连接丢失,在我当前的VC创buildCollectionViewController不在Service& JSONparsing器类。

下面代码中最重要的部分是addChildViewController ,它不会释放委托连接,并按预期工作。

 UIStoryboard *mainStoryBoard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]]; CardListViewController *objCardListViewController = [mainStoryBoard instantiateViewControllerWithIdentifier:@"CardListViewController"]; objCardListViewController.view.frame = CGRectMake(0, 0,self.cardMainView.frame.size.width, self.cardMainView.frame.size.height); [self.cardMainView addSubview:objCardListViewController.view]; [self addChildViewController:objCardListViewController]; 

但根据我的要求,我需要在许多地方收集视图,所以我需要概括这个集合视图。

所以我去第二种方式,这是ContainerView添加子控制器 ,我把这个CollectionViewController与容器视图连接,所以我可以使用它作为我需要这个列表的许多地方。

奇怪而真实。

希望如果面临同样的问题,这将有助于某人。

感谢和愉快的编码。