在UICollectionView中滚动2 – 3次后,单元格消失
我在滚动我的UICollectionView
一个奇怪的问题。 它显示一个没有任何单元格的空白视图。
它奇怪地隐藏我的细胞或删除我的细胞,我不知道,但我无法find任何解决scheme。
我已经尝试从这些解决scheme:
第一:试图创build自定义类的UICollectionViewFlowLayout
并按照指示与所有不同的方法,但无法解决我的问题。
第二:尝试下面的方法重新分配和重新计算我的单元格大小:
-(BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds { return YES; }
我跟随的链接:
Que1: UICollectionView的单元格消失
Que2: 使用我自己的UICollectionViewFlowLayout子类滚动时,UICollectionView项目消失
请指导我什么是错误的与自定义单元格简单collectionview。
参考图片:
滚动之前:
滚动后:
我在这里回答我自己的问题。
由于这个问题最近两天我被卡住,希望有人得到帮助,如果任何人得到像我这样的问题。
正如我使用CollectionViewController
并将该Controller
视图添加到我当前使用的控制器,以便它消失我的集合视图单元格。
原因:由于
ARC
释放delegate
和datasource
连接,并且collecton视图无法获取单元格,而我从上到下滚动。
解:
我通过两种方式解决这个问题。
第一:由于delegate & datasource
连接丢失,在我当前的VC
创buildCollectionViewController
不在Service& JSON
parsing器类。
下面代码中最重要的部分是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
与容器视图连接,所以我可以使用它作为我需要这个列表的许多地方。
奇怪而真实。
希望如果面临同样的问题,这将有助于某人。
感谢和愉快的编码。